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行あるんだから、そのせいかなぁ?

コメント

このブログの人気の投稿

ヨドバシカメラの店舗購入履歴を見るには…

C# の WPF の DataGrid で 行を交互に背景色を変える+選択色を変える+カラムが無い所も変える…

Visual Studio の ホットリロードが動かない場合に確認するところ