2012-04-11 9 views
0

CommandBuilderは、INSERT、UPDATEおよびDELETEコマンドを記述する必要がない非常に便利なクラスです。 CommandTypeがTextの場合は非常に簡単です。しかし、CommandTypeがStoredProcedureで、PocedureがSYS_REFCUSORを返した場合、SQLの生成に失敗します。私はsotredプロシージャを使用してOracleデータベースからデータを取得しようとしています。選択は容易になります。 (私は出力パラメタを割り当てます - この場合、カーソルはIDataReaderに返されます)。これは、CommandBuildがカーソルを返すストアドプロシージャを使用して更新SQLを生成することは可能ですか?または、これらのSQLをすべて手動で記述する必要があります。 ORACLEC# - RefCursorを返すストアド・プロシージャからinsertコマンドを生成するOracleCommandBuilder

ここにあります:私は、ほとんどの認可ソースからの私の質問への答えを見つけた長い絶望的な検索をした後、(。私はそのストアドプロシージャで結果を返すことができることのためにMS SQL Serverのを見逃すことはどのように)

+0

あなたはORMを考慮しましたか? c#とoracleを使用すると、oracleクライアント11.2.0.3以降のodp.netが1つの無料のソリューションとなります。 –

+0

すでにODP.NETを使用しています –

+1

web.configまたはapp.configの戻り値に注意してください。次の投稿は役に立つかもしれません。 https://forums.oracle.com/forums/thread.jspa?threadID=2177895 –

答えて

0

REF CURSORタイプは更新できません。ただし、データセット に取り込まれたデータは更新できます。 したがって、OracleDataAdapterクラスでは、カスタムSQL 文が必要です。この文は、REF CURSORデータの更新をデータベースにフラッシュします。 OracleCommandBuilderオブジェクトは、私は最後の文は私の質問にちょうどいい答えだと思い のREF CURSORの更新のためのSQL文

を生成するために使用することはできません。これが誰かを助けることを願っています。

関連する問題