森井です。
At 99/09/17 05:08 午後, you wrote:
> 菊池と申します。
>
> 現在、SQL*Loaderを利用しているのですが、SQL*Loaderが表示するメッセージ
> はEUCなのですが、Oracleが表示するメッセージ?(ORA-*****)がSJISになってしま
> って困っています。全てEUCで表示させる方法がありましたらお教え下さい。
データベース JA16SJIS , Linux 側 NLS_LANG = Japanese_japan.JA16EUC
でうまく表示されますけど。???
入力するデータが SJIS ならば、NLS_LANG は american_america.ja16sjis
にするしかないでしょ。 取り扱うデータはSJIS 表示するのは EUC なんて事は
出来ないと思います。 Linux で SJIS の log ファイルをみたいと言うことで
有れば、SJIS のログを mule などでみればきちんと表示されますよね。
$ more ctl1.log
SQL*Loader: Release 8.0.5.0.0 - Production on 土 Sep 18 9:48:51 1999
(c) Copyright 1998 Oracle Corporation. All rights reserved.
制御ファイル: ulcase1.ctl
データ・ファイル: ulcase1.ctl
不良ファイル: ulcase1.bad
廃棄ファイル: 指定なし
(レコード拒否はいくつまでも許します。)
ロード数: ALL
読み飛ばす数: 0
許容エラー数: 50
バインド配列: 64 行、最大 65536 バイト
継続文字: 指定なし
使用パス: 従来型
表: DEPT、ロード済(すべての論理レコードから)
この表に対しての有効なインサート・オプションはINSERTです。
列 名 位 置 長さ 区切 囲み データ型
------------------------------ ---------- ----- ---- ---- ------------------
---
DEPTNO FIRST * , O(") CHARACTER
DNAME NEXT * , O(") CHARACTER
LOC NEXT * , O(") CHARACTER
レコード:7は拒否されました。- 表:DEPTでエラーが発生しました。
ORA-01438: 指定した精度を超える値が列に指定されています。
SVRMGR> connect system/manager
SVRMGR> select * from v$nls_parameters;
PARAMETER VALUE
----------------------------------------------------------------
---------------
NLS_LANGUAGE JAPANESE
NLS_TERRITORY JAPAN
NLS_CURRENCY \
NLS_ISO_CURRENCY JAPAN
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT YY-MM-DD
NLS_DATE_LANGUAGE JAPANESE
NLS_CHARACTERSET JA16SJIS
NLS_SORT BINARY
NLS_NCHAR_CHARACTERSET JA16SJISFIXED
> ログファイルのSJISで表示されている2行は、TELNETの設定をSJISに変更して見
> ると、下記のように表示されます。
扱う入力データが、SJIS ならば NLS_LANGは ja16sjis でやりましょう。
Linux 側でログを正しく見たいので有れば ja16sjis で log は sjis を見れるよう
な
ものを使って下さい。
面倒なら american_america.ja16sjis で英語表記で我慢して下さい。
作業を Linux Server でやっているのか telnet でやっているのかちょっと判断が
つかないところがあるので レスしにくい。 (^^;)
-----------------------------------------------------
mailto:m_tada@sx.miracle.ne.jp
Oracle on Linux : http://member.nifty.ne.jp/m_tada/
I Like Matsue , Shimane And ...
-----------------------------------------------------