У меня проблема при попытке вставить определенные символы с помощью запроса с параметрами.
Когда я запускаю следующий запрос (без параметров), все работает нормально.
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-разрядная версия) и клиентский SDK 3.50 установлены и работают правильно. База данных создается с помощью en_US.utf8 или cs_CZ. 8859-2.
Один из ошибочных символов - «¬» (Unicode 172).
Кто-нибудь видел эту ошибку? В чем может быть причина? Необходимо выполнить какие-то дополнительные настройки драйвера. ?