由于缺乏测试环境,我需要知道以下场景是否可行:
我已经为 .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();
}