掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SQL文にてリテラル文字列を使用できない (ID:33238)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
nobukoshi802さん、ご返信ありがとうございます。 >NLS_CHARACTERSETの値ですね >うちでは、JA16SJISになっています >この値はOracleのinit.oraで設定しています 私の環境でも確認してみましたが、サーバ、クライア ントともにJA16SJISになっています。 ただし、init.oraというファイルはなかったのですが、 init<SID>.oraはありましたのでそちらで確認したと ころNLS_CHARACTERSETというパラメータが見つかりま せんでした。そのため、前回同様のV$NLS_PARAMETERS より確認しました。 クライアント側についてはレジストリよりNLS_LANG から調べました。 >この値が違うと、サーバの文字セットと >クライアントの文字セットが違うので文字化けが発生します >DB管理者に聞いてみてください >Oracle10gXEだと、無条件に文字セットがUnicodeになっていて >Ansiを選択出来なくて導入を見合わせたことがあります 大変参考になります。ただ、お恥ずかしながらうち にはDB管理者なる者がとくにおりませんので自分 で調べてみた次第です。 今回の件ですが、文字化けが発生していると私も、 にらんでいたのですが、文字化けというより、正常 にSQLが動作するSQL*PLUSなどで以下のSQL文 を実行したイメージの方が近いかなと思っております。 SELECT SUBSTRB('田中',1,3) FROM DUAL 最後の1バイトだけを無視して無理やり結果を返そ うとする感じですね。そのため'中'という文字の1 バイト分だけを認識しようとしている。 ※申し遅れておりますが、 DBサーバはWindows2000 Server クライアントはWindowsXP Proになります。 よろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.