gpt4 book ai didi

python - 得到??将 Netezza 与 Python 连接时作为 unicode 字符的输出

转载 作者:行者123 更新时间:2023-12-02 18:39:21 26 4
gpt4 key购买 nike

我正在尝试从 Netezza 数据库访问 python 代码中的 unicode(中文、日文等)字符。对于连接,我使用 Netezza odbc 驱动程序和 sqlalechmy,以及 netezza 中的一个表,该表具有 nvarchar 类型列,其中包含中文字符。使用 python 代码访问该汉字时,输出为 ??而不是实际数据。

表有两列,一列的数据类型为 id,另一列的数据类型为 nvarchar:

id(int)  Data(nvarchar)
1 你好
2 你好
3 你好

连接代码:

connecting_string="DRIVER={NetezzaSQL};SERVER=hostname;PORT=5480;DATABASE=databaseName;UID=userNamw;PWD=password"
sqlparams = parse.quote_plus(connecting_string)
engine = create_engine(f"netezza+pyodbc:///?odbc_connect={sqlparams}")

netezzaConnection = engine.connect()

最佳答案

这是使用 pyodbc 开发 nzalchemy 时的一个已知限制。这与 nzalchemy 的 nzpy 方言配合得很好。

>>> import sqlalchemy
>>> import nzalchemy
>>> engine = sqlalchemy.create_engine("netezza+nzpy://admin:password@localhost:5480/DB1")
>>> conn = engine.connect()
>>> res = conn.execute("select * from t7")
>>> print(res.fetchall())
[('你好',)]

适用于 pyodbc。

关于python - 得到??将 Netezza 与 Python 连接时作为 unicode 字符的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68258161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com