プロが教える店舗&オフィスのセキュリティ対策術

Oracleのストアドについて質問です。
32bit版ではコンパイルが通るのに、64bit版ではコンパイルが通りません。
Ora-00918列定義が未確定がでます。

列名ではなく、列番号で指定するとコンパイルが通るようになります。
ただし、きちんと値をとってきていない。

・Oracle10.2.0.3 x32(windowsServer2003x32)でOK。

・Oracle10.2.0.5 x64(windowsServer2008x64)ではコンパイルエラーになります。(Ora-00918)
列定義が未確定がでます。



同じくOracle11.0.1x64(windowsServer2008x64)でも同じエラーが出ます。

文字コードはS-JISです。

Oracle10.2.0.5にアップのパッチを当てています。

64bitでなにかあるのでしょうか?

A 回答 (1件)

こんにちわ。



> Oracle10.2.0.5 x64(windowsServer2008x64)ではコンパイルエラーになります。
> (Ora-00918)列定義が未確定がでます。
> 64bitでなにかあるのでしょうか?
Bit 数の違いよりも、Patch Level の違いが影響している可能性が高いです。
エラー発生箇所で参照しているオブジェクトの定義が、10.2.0.3 と10.2.0.5
で差異があるのでは無いでしょうか?

エラーになっているSQL とそのSQL が参照しているオブジェクト定義を確認
して見て下さい。
ORA-918 は、同一ビュー (テーブル) に同じ列名が複数回出現するような
場合に発生するエラーですが、稀にV$ やX$ でそのような事があります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

テーブル名をつけて参照すると通りました。

お礼日時:2014/02/28 09:47

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