{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/sql-server.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"wPAQaA,G,UAAe,S,uOAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,cADR,cAGA,4EAA2D,6BAAGC,WAAW,KAAQ,CAC7E,KAAQ,uCAD+C,WAA3D,KAGA,8EACA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,0G,qOAMTJ,EAAWK,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-sql-server-mdx-858b5a171277abcd5351.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"sql-server\"\n    }}>{`SQL Server`}</h2>\n    <p>{`The recommended connector library for SQL Server is `}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/pymssql/pymssql\"\n      }}>{`pymssql`}</a>{`.`}</p>\n    <p>{`The connection string for SQL Server looks like this:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`mssql+pymssql://<Username>:<Password>@<Host>:<Port-default:1433>/<Database Name>/?Encrypt=yes\n`}</code></pre>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}