- - PR -
Transaction 処理について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-07-23 08:28
こんにちは。
おそらく、Oracle Data Provider for .NETと、.NET Framework Data Provider for Oracleが混乱していると思われます。 NYRLさんのサンプルは、.NET Framework Data Provider for Oracleの方にありました。 りんさん、ななさんが問題にされているのはOracle Data Provider for .NETですよね? Oracle Data Provider for .NETのサンプルでは、トランザクションはOracleDbCommand.Transactionに代入せずに使用されています。ここの説明では、
「IDbCommandより参照される場合はリードオンリーである」とあります。 | ||||
|
投稿日時: 2003-07-23 09:11
Jittaさんフォローありがとうございますそのとおりでした![]() 私が混乱させたみたいですいませんでした | ||||
|
投稿日時: 2003-07-23 09:23
>りんさん、ななさんが問題にされているのはOracle Data Provider for .NETですよね?
そうでした、 私が見たサンプルも SQLServer用のサンプルで、 ODPとも.net for oracleとも違っていました。。。 すみません。 ODP.NETを使用したサンプルがあまり無いのでいつもとても助かります。 | ||||
|
投稿日時: 2009-04-17 18:32
Oracle Database starts a transaction only in the context of a connection. Once a
transaction starts, all the successive command execution on that connection run in the context of that transaction. Transactions can be started only on an OracleConnection object, and the read-only Transaction property on the OracleCommand object is implicitly set by the OracleConnection object. Therefore, the application cannot set the Transaction property, nor does it need to. 設定する必要はありません。 | ||||
|
投稿日時: 2009-04-17 22:49
どうにも誤解があるようですが…
これはODP.NETの仕様です。 ODP.NETでは、コマンドにトランザクションを設定する必要はありません。 DbCommandだったか、基底の型にキャストすれば代入できますが、必要ありません。 まあ正直、通常のADO.NETの使い方を変えてしまっていて、あまりいい気はしないんですけどね。 一応、ODP.NETのドキュメントにはちゃんと書かれてたはずです。 --追記 すみません、2ページ目を見落としてましたごめんなさい。 っていうかしかも元はすごい昔の投稿ですね…嗚呼… [ メッセージ編集済み 編集者: なちゃ 編集日時 2009-04-17 22:51 ] |