2010-11-22 5 views
1

現在、私はOracle(ODP.NET)データプロバイダとT4でSubSonic3 ORM(ActiveRecordsモード)テンプレートを使用してOracle 10g(バージョン10.2.0.3.0)のDBにアクセスします。SubSonic3 T4テンプレートOracle(ODP.net)のActiveRecord(Square Bracketsの問題)の奇妙なクエリを生成します

テンプレートを取得して私のためにさまざまなコードをビルドした後、コンパイルして実行することができましたが、私が生成するクエリーに問題があります。

トレース/コードを通してステッピング、私が生成されていたものをSQLクエリを見ていたし、これを見つけた:

SELECT [t0].[SOME_COLUMN], [t1].[ANOTHER_COLUMN] 
FROM [USER].[SOME_TABLE] AS t0 
CROSS JOIN [USER].[ANOTHER_TABLE] AS t1 
WHERE ([t0].[ID] = [t1].[ID]) 

そして、私のコードが見つからない表現」のOracleのメッセージで例外を投げていた。ORA -00936 "となります。だから、私はコマンドラインで直接このクエリを実行しようとし、同じメッセージでエラーが発生しました。

それから、すべての角括弧(私の右には見えませんでした)と "AS"参照(2行目と3行目)の両方が削除され、クエリが正常に実行されました。

なぜ私はSubSonicがこれをやっているのか説明できますか?それとも、これをどう修正するか?

ありがとうございます!

EDIT:私は(私はOracleの専門家ではないので)私も尋ねるべきだと思います。大括弧は正常/合法ですか? "AS"演算子はどうですか?

答えて

0

いくつかの掘り出しを行った後、Oracle(およびおそらくDB2)のサポートでは、SubSonicのトランクからこれらの2つのデータベースをサポートしていることが分かりました。このリンクに従ってください:https://github.com/rally25rs/SubSonic-3.0

このソースコードは現実的なようです。

+1

うわー、私はこの返答に遅れていますが、私はSubSonicとタグ付けされた古い投稿を梳き、これを見ました。ご存じのように、私のGitHubリポジトリ(上記のリンク先)は、Oracle ODP.NETサポートの「ベータ版」を入手するための正しい場所です。これは最終的にバージョン3.1.0.0のメインのSubSonicコードにロールオーバーされますが、そのリリースがいつ起こるのか分かりません。私はこのコメントをここに残しておくべきだと思ったが、これは将来これを見てもらう人のためだ。 – CodingWithSpike

+0

@ rally25rs:ハウルから別のスバル愛好家! –