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

解決済みの質問

オラクル11gでMAXを使うとエラーになった。

お世話になります。
WIN7 Oracle11g の環境で
dim rs as new adodb.recordset
sql = "select max(sal) from file_name where pcname= '" & PCN & "'"
rs.open sql,cn,adopenstatic,adlockoptimistic

を実行すると
ora-00937 のエラーになってしまいます。
oracle9iでは、エラーにならなかったのですが、なにか変ったのでしょうか。

どなたかご教授頂ければ助かります。

投稿日時 - 2011-02-08 19:39:49

QNo.6507879

すぐに回答ほしいです

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

Windows32bit版 11gR1で
「Provider=OraOLEDB.Oracle」「Provider=MSDAORA」
両方試してみましたが、再現しませんでした(EXCEL2000 VBAからテスト)。

エラーになるSQLは、SQL*PLUSからでもエラーになるのでしょうか?

投稿日時 - 2011-02-08 21:13:32

お礼

nora1962様

テストをして頂きありがとうございます。

SQL*PLUSでテストしましたがエラーにはなりませんでした。
MAX値がある場合もNULLでかえってくる場合も正常に終わりました。

VB6でSQLを実行してるんですが、
VB6が悪さしている可能性もあるのでしょうか。

以上 宜しくお願いします。

投稿日時 - 2011-02-09 10:12:20

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

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

回答(2)

ANo.2

> sql = "select max(sal) from file_name where pcname= '" & PCN & "'"
の「max(sal) 」に別名をつけるとどうなりますか?

投稿日時 - 2011-02-09 11:13:57

お礼

nora1962様

結果報告が遅くなり申し訳ありません。

max(sal) as mxsal のようにして試してみましたが結果は同じでした。
しばらくはまた、このプログラムの修正をすることになりそうなので
ご教授して頂けるようでしたらよろしくお願いします。

投稿日時 - 2011-02-22 13:58:23