「DB2 エクスポート、インポートで文字化け」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==DB2 エクスポート、インポートで文字化け== | + | ==[[DB2 エクスポート、インポートで文字化け]]== |
− | + | [[DB2]] | {category 文字化け} | |
− | *https://www-304.ibm.com/support/ | + | *https://www-304.ibm.com/support/doc[[vi]]ew.wss?uid=swg21504151 |
===問題=== | ===問題=== | ||
− | *EXPORT および IMPORT を使ってデータを移動させると、IMPORT | + | *EXPORT および IMPORT を使ってデータを移動させると、IMPORT 先で[[文字化け]]が発生することがある。 |
− | *EXPORT および IMPORT は、データベース・コード・ページと、コマンド行プロセッサー (CLP) | + | *EXPORT および IMPORT は、データベース・コード・ページと、コマンド行プロセッサー (CLP) のコード・ページの間で[[文字コード]]変換が行われるため、これをあわせる必要がある。 |
===対処=== | ===対処=== | ||
− | ==== | + | ====EXPO[[R]]T 元のデータベースと IMPO[[R]]T 先のデータベースのコード・ページが一致している場合==== |
− | * | + | *EXPO[[R]]T および IMPO[[R]]T を実行する CLP のコード・ページを、データベース・コード・ページと一致させます。 |
− | ==== | + | ====EXPO[[R]]T 元のデータベースと IMPO[[R]]T 先のデータベースのコード・ページが一致しない場合==== |
− | *変換が一度だけになるように設定します。たとえば | + | *変換が一度だけになるように設定します。たとえば EXPO[[R]]T で宛先データベースのコード・ページに変換し、IMPO[[R]]T は無変換で行います。 |
− | ==== | + | ====EXPO[[R]]T 元のデータベースより IMPO[[R]]T 先のデータベースの文字集合が小さい場合==== |
− | * | + | *EXPO[[R]]T 元と同じ、もしくはより大きい文字集合をサポートするデータベースに IMPO[[R]]T します。JP) です。 |
*日本語をサポートする主なコード・ページは、文字集合の大きい順に 1208 (UTF-8) > 943 (SJIS) > 954 (EUC-JP) | *日本語をサポートする主なコード・ページは、文字集合の大きい順に 1208 (UTF-8) > 943 (SJIS) > 954 (EUC-JP) | ||
===注意=== | ===注意=== | ||
− | <blockquote>ローカルPCのIBM Data Studio | + | <blockquote>ローカルPCのIBM Data Studio を利用し、サーバーのDBのエクスポート、インポートを行うと、クライアントの設定に依存するためか、やはり[[文字化け]]が発生する。ローカルPCの IBM Data Studio はコマンドの生成に利用し、上記の設定を行った後にコマンドの実行は、各サーバーで直接行うのが吉。</blockquote> |
− | === | + | ===[[Windows]]環境での例=== |
*UTF-8からUTF-8へ移行する例 | *UTF-8からUTF-8へ移行する例 | ||
− | ==== | + | ====[[DB2]]コードページの確認==== |
C:\IBM\SQLLIB\BIN>db2 get db cfg for [データベース名] | find "コード・ページ" | C:\IBM\SQLLIB\BIN>db2 get db cfg for [データベース名] | find "コード・ページ" | ||
データベース・コード・ページ = 1208 | データベース・コード・ページ = 1208 | ||
− | ==== | + | ====[[DB2]]コードページを環境変数に設定==== |
− | C:\IBM\ | + | C:\IBM\[[SQL]]LIB\BIN>SET DB2CODEPAGE=1208 |
====コマンドプロンプト(CLP自体)のコードページをUTF-8に設定==== | ====コマンドプロンプト(CLP自体)のコードページをUTF-8に設定==== | ||
− | C:\IBM\ | + | C:\IBM\[[SQL]]LIB\BIN>chcp 65001 |
− | ==== | + | ====EXPO[[R]]T/IMPO[[R]]T の実施==== |
− | C:\IBM\ | + | C:\IBM\[[SQL]]LIB\BIN>db2 |
connect to [データベース名] | connect to [データベース名] | ||
export ... | export ... |
2020年2月16日 (日) 04:23時点における最新版
DB2 エクスポート、インポートで文字化け
DB2 | {category 文字化け}
- https://www-304.ibm.com/support/docview.wss?uid=swg21504151
問題
- EXPORT および IMPORT を使ってデータを移動させると、IMPORT 先で文字化けが発生することがある。
- EXPORT および IMPORT は、データベース・コード・ページと、コマンド行プロセッサー (CLP) のコード・ページの間で文字コード変換が行われるため、これをあわせる必要がある。
対処
EXPORT 元のデータベースと IMPORT 先のデータベースのコード・ページが一致している場合
EXPORT 元のデータベースと IMPORT 先のデータベースのコード・ページが一致しない場合
EXPORT 元のデータベースより IMPORT 先のデータベースの文字集合が小さい場合
- EXPORT 元と同じ、もしくはより大きい文字集合をサポートするデータベースに IMPORT します。JP) です。
- 日本語をサポートする主なコード・ページは、文字集合の大きい順に 1208 (UTF-8) > 943 (SJIS) > 954 (EUC-JP)
注意
<blockquote>ローカルPCのIBM Data Studio を利用し、サーバーのDBのエクスポート、インポートを行うと、クライアントの設定に依存するためか、やはり文字化けが発生する。ローカルPCの IBM Data Studio はコマンドの生成に利用し、上記の設定を行った後にコマンドの実行は、各サーバーで直接行うのが吉。</blockquote>
Windows環境での例
- UTF-8からUTF-8へ移行する例
DB2コードページの確認
C:\IBM\SQLLIB\BIN>db2 get db cfg for [データベース名] | find "コード・ページ" データベース・コード・ページ = 1208
DB2コードページを環境変数に設定
C:\IBM\SQLLIB\BIN>SET DB2CODEPAGE=1208
コマンドプロンプト(CLP自体)のコードページをUTF-8に設定
C:\IBM\SQLLIB\BIN>chcp 65001
EXPORT/IMPORT の実施
C:\IBM\SQLLIB\BIN>db2 connect to [データベース名] export ...
© 2006 矢木浩人