いつもどこかでデスマーチ♪

不定期に、私の日常を書き込みしていきます。

Oracle + SQL99

2011年11月19日 22時01分51秒 | データベース
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行あるんだから、そのせいかなぁ?


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 少なくとも… | トップ | Raphael は難しい… »

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

データベース」カテゴリの最新記事