3

私はシステムを MS SQL から Oracle に移行してきましたが、この問題が発生するまで、多かれ少なかれ困難な障害はありませんでした。

オラクルから取得するエラーメッセージは次のとおりです。

ORA-06550: 行 4、列 54: PL/SQL: ORA-00926: VALUES キーワードがありません ORA-06550: 行 4、列 1: PL/SQL: SQL ステートメントは無視されました

複雑な INSERT/UPDATE を実行しているときにのみ発生します。つまり、複数の新しく入れ子になったエンティティはすべて、1 回の .SaveChanges 呼び出しでコミットされます。ロギング用の単純な INSERT ステートメントは問題なく機能します。

私はオラクルにまったく慣れておらず、ロープを学んでいますが、そのエラーメッセージは、Entity Frameworkによって生成されているSQLの形式が正しくないことを示しているようです. 私はウェブ全体を検索しましたが、この問題に遭遇した人を他に見つけることができませんでした.

VS2010、.NET4、および最新の 32 ビット ODAC 11.2.0.2.50 Beta 3 で実行しています

この場合、通常、MS SQL を使用して、SQL プロファイラーを起動し、アプリケーションが送信したクエリを調べて、問題をより適切に示すことができるようにしますが、私のオラクル データベース管理者は、そのようなツールはないと言っています。オラクル用。

誰かがこのようなことに遭遇しましたか?

よろしく、クリス

4

1 に答える 1

2

他の誰かが遭遇した場合に備えて、私はこれを解決することができました.1つのID列のみを含む2つのテーブルに書き込んでいました。このために生成された P/SQL は何らかの理由で書き出されていました

INSERT INTO "TABLE" デフォルト値
私が知る限り、これは有効なオラクル ステートメントではありません。今のところ解決するために、edmxが2番目の列を取得できるようにMETA列を追加したところ、ステートメントが適切に生成されました。

于 2012-01-04T09:18:12.993 に答える