On Dec 19, 2012, at 2:49 PM, ScottyMac wrote: > I have no problem at all with pyodbc and qodbc > Here is a sample I just did: > I include a call to connect without autocommit - which throws an error, and > then the one what works. > The error message is exactly the same one I get trying to connect SQLAlchemy. > > I do not know how to translate cx = pyodbc.connect('DSN=Quickbooks', > autocommit=True) > into an equivalent connection string for SQLAlchemy. > > >>> cx = pyodbc.connect('DSN=Quickbooks') > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > pyodbc.Error: ('IM001', '[IM001] [QODBC] Driver not capable (11010) > (SQLSetConnn > ectAttr(SQL_ATTR_AUTOCOMMIT))') > >>> cx = pyodbc.connect('DSN=Quickbooks', autocommit=True) > >>> cursor = cx.cursor() > >>> cursor.execute("select * from vendor") > <pyodbc.Cursor object at 0x03237FA8> > >>> cursor.fetchone() > ('8000056F-1349473233', datetime.datetime(2012, 10, 5, 16, 40, 33), > datetime.dat > etime(2012, 11, 23, 10, 37, 18), '1353688638', '7 Accessories **06-08-10**', > Tru
as I said, adding it to create_engine: from sqlalchemy import create_engine engine = create_engine('mssql+pyodbc://ADMIN@Quickbooks', connect_args={"autocommit":True}) > > > > On Wednesday, December 19, 2012 12:11:05 PM UTC-6, Michael Bayer wrote: > there's many levels this could be failing, and the first step would be to > make a raw PyODBC connection to the database, to see if there's any > incompatibilities there. > > here's all the detail on how to do that: > > http://code.google.com/p/pyodbc/wiki/ConnectionStrings > > its possible the autocommit=True flag is needed here. if that's the case, > you can add that to create_engine() like: > > create_engine(<url>, connect_args={"autocommit":True}) > > > > > On Dec 19, 2012, at 1:06 PM, ScottyMac wrote: > >> Michael, >> It definitly is not MSSQL - I picked that up from somewhere out there on the >> internet. >> I am trying to access quickbooks enterprise and it is quickbooks proprietary >> database >> I am using Qodbc for the quickbooks connector and pyodbc as the python >> connector. >> >> Also, Table Reflection is not a big deal, I am very willing to define the >> tables manually - but I cannot query the engine at all. >> >> The big question is this: >> If I can connect pyodbc with qodbc and access the database from my python >> shell with this connect string "DSN=Blah Blah", autocommit = True >> Then what is the correct syntax to connect with SQLAlchemy? >> >> Or are you saying since SQLAlchemy does not have a specific driver for >> Quickbooks, that it cannot be done? I was under the impression that if a DSN >> was "working" that I could connect to it with SQLAlchemy. >> >> Thanks - Scott >> >> >> On Tuesday, December 18, 2012 6:10:27 PM UTC-6, Michael Bayer wrote: >> there might not be a choice here as the QODBC driver might not support some >> of the operations that table reflection needs. It's also critical that this >> database is in fact Microsoft SQL Server, and not something more like >> Access, because it won't work at all if not. >> >> You'd want to set echo=True on create_engine(), and observe the queries >> being emitted to see which one is failing. From there, you'd have to seek >> help with the specific quirks of QODBC. These "lesser" ODBC drivers, like >> the one for Microsoft Access, frequently have a lot of these "dead end" >> situations where not enough functionality is provided to perform the tasks >> SQLAlchemy needs to do. >> >> Is this truly a Microsoft SQL Server database ? if so, I'd look into >> setting up a traditional SQL Server ODBC connection which has full >> capabilities. If QuickBooks does *not* use Microsoft SQL Server, then this >> definitely won't work at all as SQLAlchemy's MSSQL driver is coded to the >> views and functions that are specific to SQL Server. >> >> >> >> >> >> On Dec 18, 2012, at 3:13 PM, ScottyMac wrote: >> >>> pyodbc version = 2.1.9-beta16 >>> Trying to connect sqlalchemy to quickbooks enterprise database. Have a DSN >>> setup with Qodbc called "quickbooks" >>> This connection string works for pyodbc >>> cnxn = pyodbc.connect(‘dsn=quickbooks’, autocommit=True) #Must set >>> autocommit flag or get error message found below. >>> I can open tables and query database - everything seems to be ok. >>> However, I cannot get the sqlAlchemy connection working. >>> Here is my consolidated code >>> (__iint__.py) >>> import tables >>> from session import getSession >>> (session.py) >>> engine = create_engine('mssql+pyodbc://ADMIN@Quickbooks') >>> Session = sessionmaker(bind = engine, autocommit=True) >>> (tables.py) >>> metaData = MetaData() >>> metaData.bind = engine >>> vendorTable = Table('vendor', metaData, autoload=True) >>> Which yields this error message: >>> sqlalchemy.exc.DBAPIError: (Error) ('IM001', '[IM001] [QODBC] Driver not >>> capable >>> (11010) (SQLSetConnnectAttr(SQL_ATTR_AUTOCOMMIT))') None None >>> >>> >>> I have tried all manner of connection strings in sqlalchemy and also >>> different kinds of autocommit syntax and so far I cannot get it to work. I >>> am sure some smart folks out there can help me out!! >>> Thanks, >>> Scott >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sqlalchemy" group. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msg/sqlalchemy/-/cOhqTKsDv94J. >>> To post to this group, send email to sqlal...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> sqlalchemy+...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/sqlalchemy?hl=en. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/sqlalchemy/-/wc22ZhMavDUJ. >> To post to this group, send email to sqlal...@googlegroups.com. >> To unsubscribe from this group, send email to >> sqlalchemy+...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/sqlalchemy?hl=en. > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/sqlalchemy/-/1S0LOWAysQ0J. > To post to this group, send email to sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.