Python SQLAlchemy Unicode错误-查询Teradata数据库
我试图使用Python的SQLAlchemy库来查询Teradata数据库。我能够使用以下代码创建引擎OKPython SQLAlchemy Unicode错误-查询Teradata数据库,python,unicode,sqlalchemy,teradata,Python,Unicode,Sqlalchemy,Teradata,我试图使用Python的SQLAlchemy库来查询Teradata数据库。我能够使用以下代码创建引擎OK 从sqlalchemy导入创建引擎 td_engine=create_engine('teradata://'+'usrname'+':'+'pswrd'+'@'+'myodbccdatasource'+':22/?charset=UTF8') 但是当我尝试使用引擎时,我得到了以下错误 ValueError:字符U+590048不在[U+0000;U+10ffff]范围内 使用与我尝试的数
从sqlalchemy导入创建引擎
td_engine=create_engine('teradata://'+'usrname'+':'+'pswrd'+'@'+'myodbccdatasource'+':22/?charset=UTF8')
但是当我尝试使用引擎时,我得到了以下错误
ValueError:字符U+590048不在[U+0000;U+10ffff]范围内
使用与我尝试的数据库交互的所有函数时会发生此错误。例如,当我尝试执行以下操作时,会出现此错误
sqlStr='从myTable中选择前1000名*
结果=td_engine.execute(sqlStr)
作为另一个例子,当我尝试执行以下操作时,我得到了相同的错误
td\u引擎表名称('mySchema')
错误之前的日志表明正在使用ODBC驱动程序连接到数据库,因此我想知道这是否与我配置ODBC驱动程序的方式有关。下面是我的odbc.ini文件,位于Mac上的/Library/odbc/
[ODBC Data Sources]
myodbca = MySQL ODBC 5.3 ANSI Driver
myodbc = MySQL ODBC 5.3 Unicode Driver
myOdbcDataSource = Teradata Database ODBC Driver 16.20
[myOdbcDataSource]
Driver = /Library/Application Support/teradata/client/16.20/lib/tdataodbc_sbu.dylib
DBCName = myUrl
DefaultDatabase = myDb
UserName = usrname
Password = pswrd
CharacterSet = UTF8
有人对如何修复这个Unicode错误并使SQL Alchemy Teradata引擎工作有什么想法吗?提前感谢。尝试将编码调整为UTF8:
from os import environ
environ["NLS_LANG"] = ".AL32UTF8"
卸载Teradata的ODBC驱动程序版本16.20并安装16.10就成功了。两个驱动程序的下载链接: