title: How to connect to Teradata Server using sqlalchemy and DSN less connection
body: <p>I can't figure out the right ODBC string I need to pass to the create engine statement.</p>
  <h1>This works</h1>
  <pre class="lang-py prettyprint-override"><code>import pyodbc
  import pandas as pd
  
  cnxn=pyodbc.connect('DRIVER=/opt/teradata/client/ODBC_64/lib/tdata.so;DBCName=Server;UID=UN;PWD=PW;Database=myDB')
  
  query = &quot;select top 10 * from TABLE&quot;
  df = pd.read_sql(query,cnxn) 
  </code></pre>
  <h1>This does not work</h1>
  <pre class="lang-py prettyprint-override"><code>import urllib
  import sqlalchemy
  params = urllib.parse.quote_plus('DRIVER=/opt/teradata/client/ODBC_64/lib/tdata.so;DBCName=Server;UID=UN;PWD=PW;Database=myDB')
  
  engine = sqlalchemy.create_engine(&quot;mssql+pyodbc:///?odbc_connect=%s&quot; % params)
  
  query = &quot;select top 10 * from TABLE&quot;
  
  df = pd.read_sql_query(query, engine)
  </code></pre>
  <p>I can get the pyodbc connection to work but not the sqlalchemy connection. Any help would be appreciated.</p>
  <p>I get this error:</p>
  <pre><code>InterfaceError: (pyodbc.InterfaceError) ('IM001', '[IM001] [unixODBC][Driver Manager]Driver does not support this function (0) (SQLGetInfo)')
  </code></pre>