首页 > 解决方案 > 在 C# 中运行时,Oracle 更新命令冻结

问题描述

当我从 SQL Developer 运行它时,我有一个运行良好的更新语句。但是,当我尝试在 C# 中运行它时,程序将冻结在执行命令的行上并且不输出任何内容。我将其定义如下:

private static OracleCommand cmd = new OracleCommand();
private static OracleConnection conn = new OracleConnection();
conn.ConnectionString = Properties.Settings.Default.myconstring;
cmd.Connection = conn;

cmd.CommandText = "UPDATE mytable SET PARAM1 = :param1 WHERE PARAM2 = :param2";
cmd.CommandType = CommandType.Text;
cmd.BindByName = true;
cmd.Parameters.Clear();
cmd.Parameters.Add(new OracleParameter(":param1", OracleDbType.Single)).Value = param1Val;
cmd.Parameters.Add(new OracleParameter(":param2", OracleDbType.Int32)).Value = param2Val;
conn.Open();
try {
    cmd.ExecuteNonQuery(); //Freezes here
} catch(Exception e) {
    MessageBox.Show(e.ToString());
}
conn.Close();

我已经验证了我输入的值是正确的。

标签: c#oracle

解决方案


推荐阅读