2010-08-03 35 views
0

我在使用我们的某台服务器上的Oracle全局临时表时遇到问题。这是我想要完成的细节。第一次连接打开并关闭后,ADO.NET事务不会登记命令

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

这种情况适用于除我们之外的所有服务器。甚至更奇怪的是, 这个测试用例在工作人员 进程被回收之后在服务器上工作,但后续请求不起作用。

所以,也许服务器不能正常循环的连接或东西 这样...

+0

我刚刚从控制台应用程序中测试了这一点,它的行为是相同的。所以,这从可能的嫌疑人名单中消除了IIS。也许这是一个.NET配置... – 2010-08-03 14:32:31

回答

0

我无法追查本次交易被维持在一个服务器上,但不能在其他。

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