在打开和关闭第一个连接后,ADO.NET Transaction不会登记命令

时间:2010-08-03 13:59:50

标签: transactions

我在其中一台服务器上使用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. 提交交易。
  8. 此案例适用于除我们之外的所有服务器。更奇怪的是,是 这个测试用例在工作者之后在有问题的服务器上工作 流程被回收,但后续请求不起作用。

    因此,也许服务器没有正确地回收连接或其他东西 那样......

1 个答案:

答案 0 :(得分:0)

我无法追踪在一台服务器上维护交易的原因,而在另一台服务器上却没有。

但是,当我使用Oracle ODP.NET驱动程序时,一切正常。无法运行的驱动程序是Microsoft不推荐使用的System.Data.OracleClient驱动程序。