情景:(db2數據庫)
在連接數據sample的時候提示:SQL0332N 沒有從源代碼頁 "1114" 至目標代碼頁 "UNKNOWN" 的轉換。原因代碼是 "1"。 SQLSTATE=57017
這種錯誤我遇見過幾次.第一次由于沒有時間找答案,將系統重新安裝了一遍,很傻了.
今天又遇見了這個問題.出現這個問題的原因真的很多.因為以前用過這個sample ,而且對數據庫的一些內容并沒有主動去修改過.今天突然在使用數據庫的時候,一個程序提示了這樣的錯誤.:
[IBM][CLI Driver][DB2/NT] SQL0332N 沒有從源代碼頁 "1386" 至目標代碼頁 "950" 的轉換。原因碼為 "3"。 SQLSTATE=57017
于是想從客戶端來看看這個數據庫的內容,在使用一些連接數據庫的工具連接的時候就出現了標題中的錯誤.
看到了很多關于這個問題的解決方法,如:
db2set db2codepage=1114
db2stop force
db2start
不過這里是有問題的,IBM提供的一個相關問題的解決方法是這樣的:
例如:
當發出命令:db2 connect to db_name 后系統返回
SQL0332N There is no available conversion for the source code page "819" to the target code page "1386". Reason Code "1". SQLSTATE=57017
DB2 要求源代碼頁與目標代碼頁是互相兼容的, 在上邊的例子中,源代碼頁為819與目標代碼頁為1386不兼容導致了數據庫連接失敗, 解決方法如下:
在發出db2 connect 命令失敗的機器上,在DB2 命令窗口中執行如下命令后重新進行連接:
->
db2set db2codepage=1386 –I instance_name
db2 terminate
而在這里:SQL0332N 沒有從源代碼頁 "1114" 至目標代碼頁 "UNKNOWN" 的轉換。原因代碼是 "1"。 SQLSTATE=57017
目標代碼頁是"UNKNOWN",很疑惑?
但是在我運行的一個連接數據的程序時,有這樣的提示:IBM][CLI Driver][DB2/NT] SQL0332N 沒有從源代碼頁 "1386" 至目標代碼頁 "950" 的轉換。原因碼為 "3"。 SQLSTATE=57017
所以,就用950來代替db2codepage=1386中的1386
解決過程如下:
系統:windows xp
在開始->運行中運行DB2CMD,出現db2 clp窗口
輸入命令db2set db2codepage=950 回車
輸入命令db2 terminate 回車
出現提示信息:DB20000I TERMINATE 命令成功完成
輸入命令db2stop force 回車
出現提示信息:SQL1064N DB2STOP 處理成功.
輸入命令db2start 回車
出現提示信息:SQL1063N DB2START 處理成功.
輸入命令db2 connect to sample 回車 /* sample 是我要連接的數據庫名稱
出現提示信息:
數據庫連接信息
數據庫服務器 =DB2/NT 8.2.4
SQL授權標識 =WUYI
本地數據庫別名 =SAMPLE
到此數據庫連接成功.
如果通過db2的控制中心里的配置助手測試連接,再沒有提示錯誤信息.
而至于在沒有主動對數據庫進行配置修改就出現了以上的錯誤的原因,目前還沒有檢查
出來.待 找到原因以后,再同大家一起研究研究.