2

当我尝试在 DB2 中的列中插入一个字符串值(定义为CHAR(15) FOR BIT DATA )时,我注意到它被转换为其他格式,可能是十六进制。

在检索数据时,我得到一个字节数组,并在尝试使用System.Text.Encoding.ASCII.GetString将其转换回 ASCII 时,我得到一个包含一些垃圾字符的字符串。

有人遇到过这个问题吗?有什么决议吗?

提前致谢。

4

1 回答 1

1

For Bit Data 防止客户端和服务器之间的代码页转换。这通常用于插入二进制数据,而不是字符串。

请看一下这个论坛,其中提出并解决了许多案例:http ://www.dbforums.com/db2/1663992-bit-data.html

您最终可以对数据库页面进行强制转换(这取决于您的平台)

CAST(c1 AS CHAR(n) FOR SBCS DATA)

CAST (<forbitdataexpression> AS [VARCHAR|CHAR][(<n>)] FOR [SBCS|DBCS] DATA)

参考

于 2013-04-23T10:23:29.247 回答