-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to control ODBC Driver version #77
Comments
I don't have a Mac but I am guessing you can use ODBC Administrator to create a DSN and specify the driver, username, password, server ip,... you want to use. If that is the case, you need to make sure sqlalchemy uses that DSN(unfortunately, it is not possible to just specify the DNS on the connection string, like it is possible using Microsoft SQL Server dialect) What you have to do is use a creator argument. From sqlalchemy docs
Even though user/password/host on connection string will be bypassed, you have to provide some data otherwise you´ll get a key error.
edit: btw, this was tested on Linux |
This dialect uses the You can also try using |
Is the teradatasqlalchemy package a distinct entity from sqlalchemy-teradata? |
@sandan That fixed my connection issue. I noticed some apparent changes between the teradatasqlalchemy and sqlalchemy-teradata. Namely that the column names are all uppercase which is breaking some other code. Not a huge deal but it would be good to understand all of the subtle differences between the two implementations. Is there a change log out there that details this sort of thing? Thanks! |
Hi @sandan. I read in the |
Hi
Hi to fix this Go to "C:***\Python36\Lib\site-packages\sqlalchemy_teradata\dialect.py" Then change the line 222 to It should fix it. |
TLDR; I would like to know how to control which version of the Teradata ODBC driver is used by SQLAlchemy.
We recently updated our TD system to 16.20 and certain features on the server side are disable like QVCI. This leads to the following error when trying to connect to the database:
DatabaseError: (teradata.api.DatabaseError) (9719, '[HY000] [Teradata][ODBC Teradata Driver][Teradata Database](-9719)QVCI feature is disabled.') [SQL: 'SELECT columnname, columntype, columnlength, chartype, decimaltotaldigits, decimalfractionaldigits, columnformat, nullable, defaultvalue, idcoltype \nFROM dbc.ColumnsQV \nWHERE DatabaseName=? AND TableName=?'] [parameters: ('mktbciviews', 'bci_acct_id_sgmnt')] (Background on this error at: http://sqlalche.me/e/4xp6)
The DBA's aren't going to turn on the QVCI feature in the near term because they are still looking into how that affects the platform stability. There is a workaround that involves updating the driver to >= 16.10.0.5.
https://cks.teradata.com/support/general/newcase.nsf/0/B84522DCF8D8E9A5852582E40018B294?OpenDocument
From the above link:
This brings me to my question: How can I point my connection engine to the new version of the driver. I use ODBC Administrator on Mac and I can confirm that the old driver was deleted and that the 16.20.XX.XX version is installed. I just need to know how to control which version is used in SQLAlchemy.
Any help would be much appreciated!
The text was updated successfully, but these errors were encountered: