gpt4 book ai didi

asp.net - oracle ExecuteNonQuery 在 ASP.Net 上卡住

转载 作者:行者123 更新时间:2023-12-02 06:34:21 26 4
gpt4 key购买 nike

我正在尝试使用 CLR 4.5 在 ASP C# 中的 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 秒的超时,它也会永远卡住。
我试过使用托管和非托管的 o​​racle 库;两者行为相同。
请注意,使用填充或标量查询可以正常工作,因此我的连接字符串没有任何问题。此外,oracle 开发可以执行此更新查询的事实证明这不是权限问题。

有任何想法吗?

最佳答案

您的查询很可能正在等待访问记录。您可能已经在“oracle 开发工具”中修改了该行,并且尚未提交或回滚该事务。

只需在您的工具中提交/回滚或关闭打开的 session 。
您可以在 v$transaction View 中检查未结交易。

更多关于 Oracle 中的自动锁:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/ap_locks001.htm

关于asp.net - oracle ExecuteNonQuery 在 ASP.Net 上卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com