AIX下db2 connnect時報的編碼問題解決

2021-09-02 06:32:16 字數 1394 閱讀 7600

問題描述:

=>create dababase test using codeset gbk territory cn

=>connect to test

=>sql0332n  character conversion from the source code page "1386" to the target code page "819" is not supported. sqlstate=57017

問題原因:

上邊的錯誤則說明server端的字符集是1386的,而客戶端的字符集是819(is08859-1)的,db2不能server端1386的字符集轉化為client端819的字符集。

解決方法:

解決這個問題的思想是將client端的字符集改為與server端相容的:

=>db2set db2codepage=819

=>db2 terminate

=>db2stop force

=>db2start

三個層次的字符集:在db2資料庫中,與字符集相關的問題主要有三個層次的字符集的設定,其中系統級別和例項級別的字符集可以根據需求進行修改,而資料庫級別的資料集則必須在建庫時確定。

(1)作業系統 locale:系統級別的**頁設定,決定應用程式的預設**頁;

假如大家希望將 os locale 設定為中文,可以考慮下面的方法:

unix:大家可以通過 export lang=」zh_cn」 命令修改當前的 locale 到中文;

windows:在「開始->設定->控制面板->區域選項」中進行對系統的語言設定進行選擇;

(2)db2codepage:db2 例項級別的**頁設定,它會影響db2相關應用程式對**頁轉換時做出**頁判定。

大家可以通過 db2set db2codepaeg= 命令將 db2codepage 設定為你需要的字符集。

(3)database codepage:db2 資料庫級別的**頁設定;必須在建庫時進行設定。

大家在建立資料庫時必須指定需要的**頁:

db2 "create database dbname using codeset utf-8 territory cn"

注釋:這條語句可用於建立指定區域為中國(cn)的 unicode 資料庫。

當客戶端連線到資料庫的時候,他們的字符集要相互相容,否則就會報下邊類似的錯誤:

=> db2 connect to test

=> sql0332n  character conversion from the source code page "1386" to the target

code page "819" is not supported.  sqlstate=57017

db2 aix 定時 備份

mkdir home cron cd home cron mkdir dbimage mkdir log chmod 777 home cron dbimage chmod 777 home cron script chmod 777 home cron log cd home cron scrip...

aix下如何檢視db2 埠號

db2 get dbm cfg grep svcename tcp ip service name svcename db2 db2inst1 grep db2 db2inst1 etc services db2 db2inst1 64000 tcp db2 db2inst1 1 64001 tcp...

aix5 3新建db2v9 1例項

1 新建使用者組 使用root使用者登入後 smitty group 新建db2test使用者組 2 新建使用者 smitty user 新建db2test使用者,注意輸入db2test所在組為db2test和主目錄為 home db2test 修改密碼 passwd db2test 3 新建例項 ...