我通过 hdbcli 驱动程序连接到 SAP HANA Cloud 数据库,并获得以下堆栈跟踪:
Error: (-10419, ' Character value contains non-ASCII characters (8)')
具体错误是由
dbapi_cursor.fetchall()
的调用引起的。
经过调查,我发现删除NCLOB类型查询中存在的单列使得查询成功。 事实上,列中存在非 ASCII 字符,但据我了解,数据类型 NCLOB 应该能够包含 utf8 内容。 我尝试在连接字符串中设置参数字符集,以防默认定义任何其他字符集,但我在这里没有成功。 连接字符串使用
hana+hdbcli
;其他具有多种数据类型(包括 NVARCHAR)的查询可以正常工作。
尽管覆盖了模型中的列类型,驱动程序仍按照表方案从服务器获取数据,其中列类型为 CLOB。唯一的解决方案是最终将列类型显式修改为 NCLOB。