こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLPlusでUnicode

Windows XP上でOracle 9 リリース2によるデータベースを構築しようとしています。Unicodeで書かれた.sqlファイルを使って次のことをしたいのですが、うまくいかずに悩んでいます。アドバイスいただけませんでしょうか。

INSERT, DELETE, UPDATEなどのコマンドが記述された SQLスクリプトをSQLPlusにてデータベースに投入する。

このデータベースは次のようにNLS変数を設定しました。

NLS_CHARACTERSET = AL32UTF8
NLS_NCHAR_CHARACTERSET = UTF8

SQLPlusは.sqlファイルを読み取れずSP2-0042というエラーを出してきます。いくつかのエンコード(UTF8, Unicode, ANSI)で.sqlファイルを保存することを試したのですが、どの場合もSQLPlusではじかれました。オラクルをインストールするときに、いつかのタイミングで日本語と英語で動作するようにインストールしたのですが、それがSQLPlusでUnicodeを読み取れない原因なのでしょうか。

よろしくおねがいします。

投稿日時 - 2006-05-23 19:09:14

QNo.2170318

困ってます

質問者が選んだベストアンサー

そもそも、SQL*PLUSは、UTF8な端末をサポートしません。
Windowsクライアントのデフォルトは、SJISになりますが、
SJISだと表現できないような文字があるということでしょうか?

もし、SJISで表現できない文字を扱わなければならないのであれば、
SQL*PLUSを諦めてください。
iSQL*PLUSを使うなり、独自のクライアントプログラムを作るなりすれば
良いかと思います。

SJISで表現できる文字しかないけど、たまたまスクリプトが、UTF8で
書かれているということであれば、文字コード変換ソフトを経由して
SQL*PLUSへ流し込めばよいかと思います。

投稿日時 - 2006-05-23 21:03:55

お礼

どうしてもSJISのコード表にはない文字を扱う必要があるので、iSQL*PLUSを検討することにしました。ありがとうございます。

投稿日時 - 2006-05-25 19:16:01

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問