2012-01-18 33 views
6

Tôi gặp sự cố khi cố chèn một số ký tự nhất định thông qua truy vấn có tham số.Truy vấn tham số thất bại khi chèn một số ký tự Unicode nhất định

Khi tôi chạy truy vấn sau (không có tham số liên quan), mọi thứ hoạt động tốt.

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

Tuy nhiên, nếu tôi chạy truy vấn như sau, không thành công.

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(); 

Lỗi này là:

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 máy chủ 11,70 (64 bit) và Client SDK 3.50 được cài đặt, và hoạt động đúng. Cơ sở dữ liệu được tạo với en_US.utf8 hoặc cs_CZ.8859-2.

Một trong các ký tự thất bại là '¬' (Unicode 172).

Có ai đã nhìn thấy lỗi này không? Nguyên nhân có thể là gì? Có một số cấu hình bổ sung cần được thực hiện trên trình điều khiển không?

Trả lời

Các vấn đề liên quan