($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
VBAやVBSからAS400のデータをSQLで取得時の文字化け AS400 初心者 さん [ 11月19日(土) 10時2分 ]
VBAやVBSからSQLでAS400のデータを取得した時に文字化けが発生しています。
ツール等で取得する場合や、ASで該当項目を表示する場合には文字化けは発生
しておりません。

SQLで取得する場合に何か工夫が必要になりますでしょうか?


--------------------------------------------------------------------
文字化けしている項目は下記になります
  項目:商品名
  属性:A
  内容:全角英小文字、全角スペース、半角スペース、半角数字が混在

関係あるかわかりませんがホストコードページは、930日本語英数カナです
--------------------------------------------------------------------
RE:VBAやVBSからAS400のデータをSQLで取得時の文字化け まめたろう さん [ 11月20日(日) 14時36分 ]
項目の属性がAですので、格納できるデータは半角文字のみがサポートされます。
その項目に全角文字を無理やり格納することもできますが
EBCDICからPCコードに項目単位で文字変換する時に全角文字を半角文字として
変換するので文字化けが発生します。
項目の属性をAから0(オー)に変更する対処が必要があります。
項目の属性が0(オー)であれば半角文字と全角文字の
両方がサポートされますので文字化けは発生しなくなると思います。
RE:VBAやVBSからAS400のデータをSQLで取得時の文字化け AS400 初心者 さん [ 11月21日(月) 20時48分 ]
> 項目の属性がAですので、格納できるデータは半角文字のみがサポートされ
ます。
> その項目に全角文字を無理やり格納することもできますが
> EBCDICからPCコードに項目単位で文字変換する時に全角文字を半角文字として
> 変換するので文字化けが発生します。
> 項目の属性をAから0(オー)に変更する対処が必要があります。
> 項目の属性が0(オー)であれば半角文字と全角文字の
> 両方がサポートされますので文字化けは発生しなくなると思います。
> 

属性Aなのに何故全角文字が入っているのか不思議だったのですが
どういう方法かわかりませんが無理矢理入れていたんですね。
社内で使用している市販のツールで抽出した際には文字化けしていなかったので
何か方法があるのかと思いました。

属性をOに変更することで対応したいと思います。

ありがとうございました。
RE:VBAやVBSからAS400のデータをSQLで取得時の文字化け HIROX さん [ 12月15日(木) 10時8分 ]
> 属性Aなのに何故全角文字が入っているのか不思議だったのですが
> どういう方法かわかりませんが無理矢理入れていたんですね。
> 社内で使用している市販のツールで抽出した際には文字化けしていなかったので
> 何か方法があるのかと思いました。
> 
> 属性をOに変更することで対応したいと思います。
> 
> ありがとうございました。

無理やりではなくRPGだと普通に入ってしまうんですよね。
文字属性チェックがRPGではされないのが原因です。

で、話は戻ってO属性に物理ファイルを変更すると、その物理ファイルを使用
しているRPG
などはリコンパイルが必要になります。
大変なので、私がよくやる手は以下の2つです。

1.SQLを発行する場合
A属性のフィールドに対して下記のようなSQLにします。
CAST(商品名 AS VARCHAR (256) CCSID 5026)
CCSIDの5026は環境に合わせて変更で。

2.ツールで自動SQL発行(SQLは変えられない)で、文字化けの場合
その物理ファイルの該当フィールド属性をOに変えた論理ファイルを切ります。
この場合、論理ファイル自体はデータを持たないので、容量圧迫はしません。
RE:VBAやVBSからAS400のデータをSQLで取得時の文字化け AS400 初心者 さん [ 12月27日(火) 9時14分 ]
すいません、、コメント頂いていたのに気付きませんでした。

HIROXさんありがとうございます!!
この1番が知りたかった方法でした
VBAで記載しているSQL文の商品名欄を教えていただいた内容に修正すると
商品名の文字化けがなくなりました

また、2の方法も非常に興味深い内容でした。
PFで指定している属性をLFで変更出来るなんて知りませんでした。
色々ありがとうございます。非常に勉強になりました。

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目