dポイントプレゼントキャンペーン実施中!

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を読み取れない原因なのでしょうか。

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

A 回答 (1件)

そもそも、SQL*PLUSは、UTF8な端末をサポートしません。


Windowsクライアントのデフォルトは、SJISになりますが、
SJISだと表現できないような文字があるということでしょうか?

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

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

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

お礼日時:2006/05/25 19:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す