使用 sqlalchemy 获取 NCLOB 列时出现问题

问题描述 投票:0回答:1

我通过 hdbcli 驱动程序连接到 SAP HANA Cloud 数据库,并获得以下堆栈跟踪:

Error: (-10419, ' Character value contains non-ASCII characters (8)')

具体错误是由

dbapi_cursor.fetchall()
的调用引起的。

经过调查,我发现删除NCLOB类型查询中存在的单列使得查询成功。 事实上,列中存在非 ASCII 字符,但据我了解,数据类型 NCLOB 应该能够包含 utf8 内容。 我尝试在连接字符串中设置参数字符集,以防默认定义任何其他字符集,但我在这里没有成功。 连接字符串使用

hana+hdbcli
;其他具有多种数据类型(包括 NVARCHAR)的查询可以正常工作。

sqlalchemy hana
1个回答
0
投票

尽管覆盖了模型中的列类型,驱动程序仍按照表方案从服务器获取数据,其中列类型为 CLOB。唯一的解决方案是最终将列类型显式修改为 NCLOB。

© www.soinside.com 2019 - 2024. All rights reserved.