{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/teradata.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,qOAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,YADR,YAGA,8DAEE,gBAAO,CACL,KAAQ,kDACR,WAAc,KAFhB,uBAFF,KAOA,4EACA,uBAAK,mBAAU,CACX,WAAc,OADb,0CAIL,uMAGE,gBAAO,CACL,KAAQ,yEACR,WAAc,KAFhB,2EAIF,wDACA,uBAAK,mBAAU,CACX,WAAc,OADb,4H,mOASTH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-teradata-mdx-c3381dcbed24e2593e2a.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/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 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    <h2 {...{\n      \"id\": \"teradata\"\n    }}>{`Teradata`}</h2>\n    <p>{`The recommended connector library is\n`}\n      <a {...{\n        \"href\": \"https://github.com/Teradata/sqlalchemy-teradata\",\n        \"parentName\": \"p\"\n      }}>{`sqlalchemy-teradata`}</a>\n      {`.`}</p>\n    <p>{`The connection string for Teradata looks like this:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`teradata://{user}:{password}@{host}\n`}</code></pre>\n    <p>{`Note: Its required to have Teradata ODBC drivers installed and environment variables configured for\nproper work of sqlalchemy dialect. Teradata ODBC Drivers available here:\n`}\n      <a {...{\n        \"href\": \"https://downloads.teradata.com/download/connectivity/odbc-driver/linux\",\n        \"parentName\": \"p\"\n      }}>{`https://downloads.teradata.com/download/connectivity/odbc-driver/linux`}</a></p>\n    <p>{`Required environment variables:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`export ODBCINI=/.../teradata/client/ODBC_64/odbc.ini\nexport ODBCINST=/.../teradata/client/ODBC_64/odbcinst.ini\n`}</code></pre>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}