Tengo un problema al intentar insertar ciertos caracteres mediante la consulta con parámetros.La consulta parametrizada falla al insertar ciertos caracteres Unicode
Cuando ejecuto la siguiente consulta (sin parámetros), todo funciona bien.
string insertQuery = "insert into 'testschema'.texttypestestobject(columnshortstring,columnlongstring)values('¬','test')";
DB2Command myCommand = new DB2Command(insertQuery, conn);
myCommand.ExecuteNonQuery();
Sin embargo, si ejecuto la consulta como sigue, falla.
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();
El error es:
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 servidor de 11,70 (64 bits) y Client SDK 3.50 está instalado, y funcionando correctamente. La base de datos se crea con en_US.utf8 o cs_CZ.8859-2.
Uno de los caracteres que falla es '¬' (Unicode 172).
¿Alguien ha visto este error? ¿Qué podría ser la causa? ¿Hay alguna configuración adicional que deba realizarse en el controlador?