2013-04-23 92 views
2

當我嘗試在DB2中定義爲CHAR(15)FOR BIT DATA的列中插入字符串值時,我注意到它被轉換爲其他格式,可能是十六進制。在DB2的FOR BIT DATA列中插入字符串

在檢索數據,我得到一個字節數組,並試圖將其轉換回爲ASCII,使用System.Text.Encoding.ASCII.GetString,我回來的一些垃圾字符的字符串。

任何人都遇到過這個問題? 任何分辨率?

在此先感謝。

回答

1

對於位數據可防止客戶端和服務器之間的代碼頁轉換。這通常用於插入二進制數據,而不是字符串。

請看一看這個論壇,許多情況下,提出並解決了: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) 

參考