DFU, Query, SQL

34. V5R3M0 でのSQL文での透過リテラルのバグを回避するには?

V5R3M0 でのSQL文で透過リテラルの文字を使用するとトークンのエラーが発生するバグが

あり、IBM もバグであると認識しているようである。

例えば

INSERT INTO MYLIB/MYFILE ("CODE", "NAME")
VALUES(“001”, “美観地区”)

では「美」という文字が透過リテラルであるので、トークンのエラーとなってしまう。

V3R2M0〜V5R2M0 までは、この障害は無い。V5R3M0 でのみ発生する。

【 回避策 】

JOBのCCSID を一時的に 5035 に変更すると障害は発生しない。

そこで

CHGJOB CCSID(5035)
STRSQL ..... SQLを実行
CHGJOB CCSID(5026)
CHGJOB CCSID(65535)

のようにすると、障害を回避して実行することができる。