Python SQLAlchemy Unicode错误-查询Teradata数据库

Python 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]范围内 使用与我尝试的数

我试图使用Python的SQLAlchemy库来查询Teradata数据库。我能够使用以下代码创建引擎OK

从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就成功了。两个驱动程序的下载链接: