Mike:

First, thank you very much for the response. However, it doesn't appear to 
be an issue with the connection string, but with the automap_base() 
function itself. Please see my modified results below:

Python 3.5.1 |Continuum Analytics, Inc.| (default, Feb 16 2016, 09:49:46) 
[MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> from sqlalchemy.ext.automap import automap_base
>>> from sqlalchemy.orm import Session
>>> from sqlalchemy import create_engine
>>> def creator():
...   return pyodbc.connect('driver={Adaptive Server 
Enterprise};server=myurl.url.com;port=8985;database=MyDB;user=sa;password=pass')
...
>>> engine = create_engine("sybase+pyodbc://", creator=creator)
>>> Base = automap_base()
>>> Base.prepare(engine, reflect=True)
Traceback (most recent call last):
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 1044, in _do_get
    return self._pool.get(wait, self._timeout)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\queue.py", 
line 145, in get
    raise Empty
sqlalchemy.util.queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 2074, in _wrap_pool_connect
    return fn()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 318, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 713, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 480, in checkout
    rec = pool._do_get()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 1060, in _do_get
    self._dec_overflow()
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\langhelpers.py",
 
line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
line 186, in reraise
    raise value
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 1057, in _do_get
    return self._create_connection()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 323, in _create_connection
    return _ConnectionRecord(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 449, in __init__
    self.connection = self.__connect()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 607, in __connect
    connection = self.__pool._invoke_creator(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 285, in <lambda>
    return lambda crec: creator()
  File "<stdin>", line 2, in creator
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data 
source name not found and no default driver specified (0) (SQ
LDriverConnect)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\ext\automap.py", 
line 743, in prepare
    autoload_replace=False
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\sql\schema.py", 
line 3602, in reflect
    with bind.connect() as conn:
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 2018, in connect
    return self._connection_cls(self, **kwargs)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 72, in __init__
    if connection is not None else engine.raw_connection()
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 2104, in raw_connection
    self.pool.unique_connection, _connection)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 2078, in _wrap_pool_connect
    e, dialect, self)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 1405, in _handle_dbapi_exception_noconnectio
n
    exc_info
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
line 185, in reraise
    raise value.with_traceback(tb)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
line 2074, in _wrap_pool_connect
    return fn()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 318, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 713, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 480, in checkout
    rec = pool._do_get()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 1060, in _do_get
    self._dec_overflow()
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\langhelpers.py",
 
line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File 
"C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
line 186, in reraise
    raise value
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 1057, in _do_get
    return self._create_connection()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 323, in _create_connection
    return _ConnectionRecord(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 449, in __init__
    self.connection = self.__connect()
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 607, in __connect
    connection = self.__pool._invoke_creator(self)
  File "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
line 285, in <lambda>
    return lambda crec: creator()
  File "<stdin>", line 2, in creator
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('IM002', '[IM002] 
[Microsoft][ODBC Driver Manager] Data source name not found and no defa
ult driver specified (0) (SQLDriverConnect)')
>>>



On Friday, June 3, 2016 at 9:23:48 AM UTC-5, Mike Bayer wrote:
>
>
> this is supported by just passing all key/value pairs: 
>
>
>  >>> from sqlalchemy.dialects.sybase import pyodbc 
>  >>> dialect = pyodbc.SybaseDialect_pyodbc() 
>  >>> from sqlalchemy.engine import url 
>  >>> u = 
> url.make_url("sybase+pyodbc:///?user=myuser&password=mypwd&host=my.db.server&database=mydb&driver=FreeTDS&port=1433&TDS_Version=8.0")
>  
>
>  >>> dialect.create_connect_args(u) 
> [['DRIVER={FreeTDS};Server=my.db.server;Database=mydb;UID=myuser;PWD=mypwd;TDS_Version=8.0;port=1433'],
>  
>
> {}] 
>
>
> also, you can always bypass the URL process entirely using creator: 
>
> import pyodbc 
>
> def creator(): 
>      return pyodbc.connect(<any parameters you want>) 
>
> engine = create_engine("sybase+pyodbc://", creator=creator) 
>
>
> finally, ODBC is intended to be used with data source names (DSN)s so 
> the best approach would be to use one, FreeTDS supports these directly: 
>
> http://www.freetds.org/userguide/odbcinionly.htm 
>
>
> when you make an ODBC DSN, now you can use tsql to test your DSNs. 
>
>
>
>
>
> On 06/03/2016 09:19 AM, Brad Hudson wrote: 
> > Can anyone help with forming a proper connection to Sybase ASE 15.7? I 
> > have tried variations of the following unsuccessfully using examples 
> > from the following URLs: 
> > 
> >   * 
> http://stackoverflow.com/questions/4493614/sqlalchemy-equivalent-of-pyodbc-connect-string-using-freetds
>  
> >     <
> http://stackoverflow.com/questions/4493614/sqlalchemy-equivalent-of-pyodbc-connect-string-using-freetds>
>  
>
> >   * http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/automap.html 
> >     <http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/automap.html> 
> (Basic 
> >     Use) 
> > 
> > Code: 
> > 
> >     Python 3.5.1 |Continuum Analytics, Inc.| (default, Feb 16 2016, 
> >     09:49:46) [MSC v.1900 64 bit (AMD64)] on win32 
> >     Type "help", "copyright", "credits" or "license" for more 
> information. 
> >     >>> import pyodbc 
> >     >>> from sqlalchemy.ext.automap import automap_base 
> >     >>> from sqlalchemy.orm import Session 
> >     >>> from sqlalchemy import create_engine 
> >     >>> Base = automap_base() 
> >     >>> cxnstr = 'Driver={Adaptive Server 
> >     Enterprise};server=myserver.url.com 
> >     <http://myserver.url.com/>;port=8985;db=MyDB;uid=sa;pwd=restriced' 
> >     >>> engine = 
> >     create_engine('sybase+pyodbc:///?odbc_connect={}'.format(cxnstr)) 
> >     >>> Base.prepare(engine, reflect=True) 
> >     Traceback (most recent call last): 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 1044, in _do_get 
> >         return self._pool.get(wait, self._timeout) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\queue.py", 
> >     line 145, in get 
> >         raise Empty 
> >     sqlalchemy.util.queue.Empty 
> > 
> >     During handling of the above exception, another exception occurred: 
> > 
> >     Traceback (most recent call last): 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 2074, in _wrap_pool_connect 
> >         return fn() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 318, in unique_connection 
> >         return _ConnectionFairy._checkout(self) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 713, in _checkout 
> >         fairy = _ConnectionRecord.checkout(pool) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 480, in checkout 
> >         rec = pool._do_get() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 1060, in _do_get 
> >         self._dec_overflow() 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\langhelpers.py",
>  
>
> >     line 60, in __exit__ 
> >         compat.reraise(exc_type, exc_value, exc_tb) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
> >     line 186, in reraise 
> >         raise value 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 1057, in _do_get 
> >         return self._create_connection() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 323, in _create_connection 
> >         return _ConnectionRecord(self) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 449, in __init__ 
> >         self.connection = self.__connect() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 607, in __connect 
> >         connection = self.__pool._invoke_creator(self) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\strategies.py",
>  
>
> >     line 97, in connect 
> >         return dialect.connect(*cargs, **cparams) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\default.py",
>  
>
> >     line 385, in connect 
> >         return self.dbapi.connect(*cargs, **cparams) 
> >     pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 
> >     Data source name not found and no default driver specified (0) (SQ 
> >     LDriverConnect)') 
> > 
> >     The above exception was the direct cause of the following exception: 
> > 
> >     Traceback (most recent call last): 
> >       File "<stdin>", line 1, in <module> 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\ext\automap.py", 
> >     line 743, in prepare 
> >         autoload_replace=False 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\sql\schema.py", 
> >     line 3602, in reflect 
> >         with bind.connect() as conn: 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 2018, in connect 
> >         return self._connection_cls(self, **kwargs) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 72, in __init__ 
> >         if connection is not None else engine.raw_connection() 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 2104, in raw_connection 
> >         self.pool.unique_connection, _connection) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 2078, in _wrap_pool_connect 
> >         e, dialect, self) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 1405, in _handle_dbapi_exception_noconnectio 
> >     n 
> >         exc_info 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
> >     line 202, in raise_from_cause 
> >         reraise(type(exception), exception, tb=exc_tb, cause=cause) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
> >     line 185, in reraise 
> >         raise value.with_traceback(tb) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\base.py", 
> >     line 2074, in _wrap_pool_connect 
> >         return fn() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 318, in unique_connection 
> >         return _ConnectionFairy._checkout(self) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 713, in _checkout 
> >         fairy = _ConnectionRecord.checkout(pool) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 480, in checkout 
> >         rec = pool._do_get() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 1060, in _do_get 
> >         self._dec_overflow() 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\langhelpers.py",
>  
>
> >     line 60, in __exit__ 
> >         compat.reraise(exc_type, exc_value, exc_tb) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\util\compat.py", 
> >     line 186, in reraise 
> >         raise value 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 1057, in _do_get 
> >         return self._create_connection() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 323, in _create_connection 
> >         return _ConnectionRecord(self) 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 449, in __init__ 
> >         self.connection = self.__connect() 
> >       File 
> >     "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\pool.py", 
> >     line 607, in __connect 
> >         connection = self.__pool._invoke_creator(self) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\strategies.py",
>  
>
> >     line 97, in connect 
> >         return dialect.connect(*cargs, **cparams) 
> >       File 
> >     
> "C:\brad\anaconda\envs\db-app\lib\site-packages\sqlalchemy\engine\default.py",
>  
>
> >     line 385, in connect 
> >         return self.dbapi.connect(*cargs, **cparams) 
> >     sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('IM002', '[IM002] 
> >     [Microsoft][ODBC Driver Manager] Data source name not found and no 
> defa 
> >     ult driver specified (0) (SQLDriverConnect)') 
> >     >>> 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> > an email to sqlalchemy+...@googlegroups.com <javascript:> 
> > <mailto:sqlalchemy+unsubscr...@googlegroups.com <javascript:>>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:> 
> > <mailto:sqlal...@googlegroups.com <javascript:>>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to