33 messages in com.googlegroups.sqlalchemy[sqlalchemy] Re: MSSQL, pyodbc & linux
FromSent OnAttachments
Christophe de VIENNE13 Aug 2007 02:07 
Arnar Birgisson13 Aug 2007 02:25 
Christophe de VIENNE13 Aug 2007 03:20 
Paul Johnston13 Aug 2007 03:38 
Christophe de VIENNE13 Aug 2007 03:46 
Christophe de VIENNE13 Aug 2007 06:16 
Lukasz Szybalski25 Mar 2008 07:17 
Paul Johnston25 Mar 2008 07:20 
Lukasz Szybalski25 Mar 2008 07:37 
Randall Smith29 Mar 2008 20:49 
Rick Morrison30 Mar 2008 08:36 
Randall Smith30 Mar 2008 10:20 
Rick Morrison30 Mar 2008 14:06 
Lukasz Szybalski31 Mar 2008 07:18 
Rick Morrison31 Mar 2008 07:53 
Lukasz Szybalski31 Mar 2008 09:44 
Rick Morrison31 Mar 2008 10:21 
Randall Smith31 Mar 2008 10:23 
Randall Smith31 Mar 2008 10:29 
Lukasz Szybalski31 Mar 2008 11:51 
Rick Morrison31 Mar 2008 12:06 
Lukasz Szybalski31 Mar 2008 13:40 
Rick Morrison31 Mar 2008 13:50 
Rick Morrison31 Mar 2008 14:01 
Lukasz Szybalski31 Mar 2008 14:10 
Rick Morrison31 Mar 2008 14:57 
Lukasz Szybalski01 Apr 2008 07:16 
Rick Morrison01 Apr 2008 07:26 
Lukasz Szybalski01 Apr 2008 08:09 
Lukasz Szybalski01 Apr 2008 08:26 
Rick Morrison01 Apr 2008 08:37 
Paul Johnston01 Apr 2008 12:47 
Lukasz Szybalski01 Apr 2008 13:07 
Subject:[sqlalchemy] Re: MSSQL, pyodbc & linux
From:Lukasz Szybalski (szyb@gmail.com)
Date:03/31/2008 01:40:49 PM
List:com.googlegroups.sqlalchemy

On Mon, Mar 31, 2008 at 2:07 PM, Rick Morrison <rick@gmail.com> wrote:

You didn't say how am I supposed to use it in create engine?

http://www.sqlalchemy.org/docs/04/dbengine.html#dbengine_options

Anyway. I went into sqlalchemy/databases/mssql.py changed the line 791 to: self.drivername = params.get('driver', 'TDS') but I still get the:

OK, continuing, then try adding on line 826 (right before the function return) this statement

print ';'.join(connectors)

Here is what I get. The problem seems to be in a port part of a connection. Here is what your print statement shows:

DRIVER={SQL Server};Server=xxxx,1433;Database=xxx;UID=xxx;PWD=xxx

e.echo=True metadata=sqlalchemy.MetaData(e) pm = sqlalchemy.Table('xxxx', metadata, autoload=True)

File "sqlalchemy/engine/strategies.py", line 80, in connect raise exceptions.DBAPIError.instance(None, None, e) SystemError: 'finally' pops bad exception

import pyodbc c=pyodbc.connect('DRIVER={SQL Server};Server=xxx,1433;Database=xxx;UID=xxx;PWD=xxx') Traceback (most recent call last): File "<stdin>", line 1, in ? <type 'instance'>: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0)')

I also tried

c=pyodbc.connect("DRIVER={SQL

Server};Server=xxx:1433;Database=xxx;UID=xxx;PWD=xx") Traceback (most recent call last): File "<stdin>", line 1, in ? <type 'instance'>: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0)')

Finally I tried:

c=pyodbc.connect("DRIVER={SQL

Server};Server=xxx;Database=xxx;UID=xxx;PWD=xx")

I am able to connect. So I modified line 816:

connectors.append('Server=%s,%d' % (keys.get('host'), keys.get('port'))) to connectors.append('Server=%s' % (keys.get('host')))

and I am able to connect to mssql on unixodbc via sqlalchemy.

I tried looking at pyodbc page to find proper way to include port, but I couldn't find one.

Lucas