Oracle + SQL99
Oracle もSQL99 に順ずる方向で進んでいるようです。 そのため、今回のプロジェクトは、 "全てのSQLをSQL99に準じて記述する" 事になりました。 で、今回のテーブル定義がひどすぎて、 1テーブルに300カラムあるとか、マスターとの結合が5個並ぶとか普通にあります。 (DB定義直せよ…客の意向で直せないんだよ~(T_T)) で、そんなSQLを実行すると、「 ORA-03113:通信チャネルでend-of-fileが検出されました 」 と言われ、Oracleとの接続が切られます。 なぜ!解らん! ちなみに、Oracleの外部結合「(+)」を使うと発生しません。 「LEFT JOIN 」を使うと発生します。 ム、むかつく… Oracle の SQL99 対応は、まだまだ先のようですね… 使用中のOracle:Oracle 11g R2 …? 書きながら思った… クライアントは、「Oralce10g」だ… 11g にしたら直らないかな… 来週お試ししよう…結果はがんばって書きます。 <<2011年11月22日 追記>> Client を11g にしたけど無理だった… やっぱり同じエラーが発生します。 ま、外部結合11テーブル。 300カラム以上のテーブルが2つもあるからなぁ… テーブル設計をやり直して欲しい… 「NULL AS AAA」と言う記述が多かったので、消してみた。(どうせデータ取れなかったらNULLだしな) そしたら動いた!!!! なぜだっ!!!! とりあえず、固定値「NULL」の値は、消した。80個あった。 SELECT部分だけで、220行あるんだから、そのせいかなぁ?