サポートチーム便り2015.09.28
¥マークをIBM i にアップロードしようとするとエラーになる(SQLと\マーク利用について)
Question
データ転送を使って、PCからIBMiにデータをアップロードしています。データ内に\マークを利用すると、SQL0104でエラーが出てしまいました。昔同じような運用で\マークを利用しても特にエラーとならなかったように記憶しています。
Answer
今回と設定を変えておらず、\をデータ転送できていたということは、おそらくV5R2以前のマシンをお使いになっていたと思われます。V5R3以降、EBSDICのUnicode対応に関する仕様変更により、円マーク(\)はバックスラッシュ(/)と認識されるようになりました。テーブル名に円マークが含まれるとSQL0104のエラーが出てしまいます。
回避方法としては、まず、データ転送に使用するユーザーをCCSID5026のユーザーにするという方法があげられます。
その他は、フィールド上からの\マークの除去、Unicodeの\(x'00a5')への直接の置き換えがあります。