由於缺少測試環境,我需要知道下列情況是否可行:我可以使用odp.net和Oracle 8i綁定變量嗎?
我已經爲.Net版本9.2.0.4安裝了Oracle數據提供程序。在生產中,我將不得不從C#應用程序與兩個數據庫(一個Oracle 8i和9i)進行通信。
在這種情況下,Oracle 8i是否支持綁定變量?
我很可能會使用類似於以下代碼:
在此先感謝!
OracleCommand cmd = con.CreateCommand();
OracleTransaction txn = con.BeginTransaction();
try {
cmd.CommandText = "update MayJun2009 " +
"set balance = balance + :1 " +
"where account_id = :2";
OracleParameter pBalance = new OracleParameter();
pBalance.OracleDbType = OracleDbType.Int32;
OracleParameter pAccount = new OracleParameter();
pAccount.OracleDbType = OracleDbType.Int32;
cmd.Parameters.Add(pBalance);
cmd.Parameters.Add(pAccount);
pBalance.Value = -500;
pAccount.Value = 1;
cmd.ExecuteNonQuery();
pBalance.Value = 500;
pAccount.Value = 2;
cmd.ExecuteNonQuery();
txn.Commit();
}
catch (OracleException ex) {
txn.Rollback();
}
非常感謝您的驗證!我只是擔心ODP和綁定變量與Oracle 8不兼容。現在我可以繼續使用綁定變量構建我的應用程序,並且有良知。否則,我將不得不等待一個試用環境才能試用這個場景。 – Toby 2010-04-07 16:12:42
該URL不再有效:/ – Vbp 2013-12-05 14:49:55
@vbp修復了網址。 – 2013-12-05 15:14:12