{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/sql-server.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,uOAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,cADR,cAGA,4EACE,gBAAO,CACL,KAAQ,qCACR,WAAc,KAFhB,WADF,KAMA,8EACA,uBAAK,mBAAU,CACX,WAAc,OADb,yE,qOAQTH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-sql-server-mdx-f50620e7360a461f10b8.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"sql-server\"\n    }}>{`SQL Server`}</h2>\n    <p>{`The recommended connector library for SQL Server is `}\n      <a {...{\n        \"href\": \"https://github.com/pymssql/pymssql\",\n        \"parentName\": \"p\"\n      }}>{`pymssql`}</a>\n      {`.`}</p>\n    <p>{`The connection string for SQL Server looks like this:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`mssql+pymssql://UserName@DB:Password@DB_Host:1433/TestSchema\n`}</code></pre>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}