gpt4 book ai didi

.net - 插入某些 Unicode 字符时参数化查询失败

转载 作者:行者123 更新时间:2023-12-04 15:36:17 27 4
gpt4 key购买 nike

尝试通过带参数的查询插入某些字符时遇到问题。

当我运行以下查询(不涉及参数)时,一切正常。

string insertQuery = "insert into 'testschema'.texttypestestobject(columnshortstring,columnlongstring)values('¬','test')";
DB2Command myCommand = new DB2Command(insertQuery, conn);
myCommand.ExecuteNonQuery();

但是,如果我像下面这样运行查询,它就会失败。
string insertQuery = "insert into 'testschema'.texttypestestobject(columnshortstring,columnlongstring)values(@p0,@p1')";
DB2Command myCommand = new DB2Command(insertQuery, conn);
myCommand.Parameters.Add(new DB2Parameter("@p0", "¬"));
myCommand.Parameters.Add(new DB2Parameter("@p1", "test"));
myCommand.ExecuteNonQuery();

错误是:
Executing Sql 'insert into 'testschema'.texttypestestobject(columnshortstring,columnlongstring)values(@p0,@p1)'
with parameters '{¬},{ test}' exception 'IBM.Data.DB2.DB2Exception (0x80004005):
ERROR [IX000] [IBM][IDS/NT64] Code-set conversion function failed due to illegal
sequence or invalid value.

Informix 服务器 11.70(64 位)和 Client SDK 3.50 已安装,并且工作正常。数据库是用 en_US.utf8 或 cs_CZ.8859-2 创建的。

失败的字符之一是“¬”(Unicode 172)。

有没有人看到这个错误?可能是什么原因?是否需要对驱动程序进行一些额外的配置?

最佳答案

我收到了来自 ibm 开发者论坛的回复。这是使用最新修订包修复的错误。

可以通过安装修订包或设置环境变量 DB2CODEPAGE=1208 来解决

https://www.ibm.com/developerworks/forums/thread.jspa?messageID=14779728&#14779728

关于.net - 插入某些 Unicode 字符时参数化查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8907863/

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