我试图运行使用ASP C#与CLR 4.5的Oracle连接非查询。 这里是我的代码:
string connectionString = ConfigurationManager.ConnectionStrings["OracleConnectionString1"].ConnectionString;
OracleConnection conn = new OracleConnection(connectionString);
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "update SALES_ADVENTUREWORKS2012.SALESORDERDETAIL set UNITPRICEDISCOUNT=0 where ROWGUID='4A399178-C0A0-447E-9973-6AB903B4AECD'";
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = QUERY_TIMEOUT;
int row_affected = cmd.ExecuteNonQuery();
HttpContext.Current.Response.Write("Rows affected:" + row_affected + "<br/>");
conn.Close();
当我运行在Oracle开发工具查询,它工作正常。 当我使用上面的ASP代码,它在执行查询时冻结。 它永远冻结,即使我用5秒超时。 我已经使用了托管和非托管Oracle库尝试; 两者具有相同的行为。 请注意,使用填充或标量查询工作完全没有问题所以没有错,我的连接字符串。 此外,甲骨文的发展可以执行此更新查询的事实证明,这是不是一个权限问题。
有任何想法吗?