【问题标题】:ADO.NET Transaction does not enlist commands after first connection is opened and closed打开和关闭第一个连接后,ADO.NET Transaction 不征用命令
【发布时间】:2011-03-24 18:11:06
【问题描述】:

我在我们的一台服务器上使用 Oracle 全局临时表时遇到问题。这是我要完成的工作的详细信息。

  1. 创建 OracleConnection。
  2. 从该连接开始一个 OracleTransaction。
  3. 创建 OracleCommand 以将单个值插入 Oracle 全局 临时表 (GTT)。例如插入 MY_GTT (SOME_FIELD) 值 (123);
  4. 在事务和 ExecuteNonQuery 中登记上述命令。
  5. 创建另一个 OracleCommand 以从 Oracle GTT 中读取该值。 例如从 MY_GTT 中选择 SOME_FIELD;
  6. 在事务和 ExecuteReader 中登记上述命令。
  7. 提交事务。

此案例适用于我们的所有服务器,但其中一台除外。更奇怪的是, 这个测试用例确实在工作人员之后在有问题的服务器上工作 进程被回收,但后续请求不起作用。

所以,也许服务器没有正确回收连接或其他东西 就这样……

【问题讨论】:

  • 我刚刚从控制台应用程序测试了这个,它的行为是一样的。因此,这从可能的嫌疑人列表中消除了 IIS。也许它是一个 .NET 配置...

标签: transactions


【解决方案1】:

我无法追查为什么事务在一台服务器上得到维护,而在另一台服务器上却没有。

但是,当我使用 Oracle ODP.NET 驱动程序时,一切正常。不起作用的驱动程序是 Microsoft 已弃用的 System.Data.OracleClient 驱动程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多