teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

失敗するSQLと成功するSQLを追記ました

2021/12/22 02:38

投稿

yaemon
yaemon

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,13 @@
1
1
  CentOS7にて、IBM i Access Client Solutions(1.1.0.15)とunixODBC-develをyumにてインストールして、pythonからDB2へ接続するとselectにてデータは取得出来るのですがinsert,updateで日本語データを更新すると以下のエラーが発生します。
2
+
2
3
  ('42000', '[42000] [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0104 - a\x83\x88a\x83?a\x82 ̄a\x833i?\x9ca\x821a\x83\x86a\x83?a\x83\x88a (-104) (SQLExecDirectW)')
3
4
 
4
5
  半角データだと発生しません。また、同じソースにてWindows環境にもIBM i Access Client Solutionsをインストールして実行すると日本語もエラー無く更新出来ます。
5
6
 
6
- linuxの場合は、文字コード変換等が必要なのでしょうか?
7
+ linuxの場合は、文字コード変換等が必要なのでしょうか?
8
+
9
+ SQLは以下の通りです。
10
+ insert into test.test01 (CHARMIX) values ('て')
11
+
12
+ なお、以下のSQLだとINSERTされます。
13
+ "insert into test.test01 (CHARMIX) values (X'0E44940F')"