(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{ak8W:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return s})),n.d(t,"default",(function(){return i}));var o=n("k1TG"),a=n("8o2o"),c=(n("q1tI"),n("7ljp")),r=n("hhGP"),s=(n("qKvR"),{});void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/exasol.mdx"}});var l={_frontmatter:s},b=r.a;function i(e){var t=e.components,n=Object(a.a)(e,["components"]);return Object(c.b)(b,Object(o.a)({},l,n,{components:t,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"exasol"},"Exasol"),Object(c.b)("p",null,"The recommended connector library for Exasol is\n",Object(c.b)("a",Object(o.a)({parentName:"p"},{href:"https://github.com/exasol/sqlalchemy-exasol"}),"sqlalchemy-exasol"),"."),Object(c.b)("p",null,"The connection string for Exasol looks like this:"),Object(c.b)("pre",null,Object(c.b)("code",Object(o.a)({parentName:"pre"},{}),"exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC\n")))}void 0!==i&&i&&i===Object(i)&&Object.isExtensible(i)&&!i.hasOwnProperty("__filemeta")&&Object.defineProperty(i,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/exasol.mdx"}}),i.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-exasol-mdx-9ffb96855c4254daea56.js.map