我得到Sql ALTER表后 - 错误[HY000] [Microsoft] [ODBC SQL Server驱动程序]连接忙于另一个hstmt的结果

时间:2014-06-17 11:06:20

标签: c# sql-server vb.net odbc

在Sql Server 2012中,在使用ALTER添加两个新字段后,当我们尝试在其他查询中再次使用该连接时,我们得到:

  

错误[HY000] [Microsoft] [ODBC SQL Server驱动程序]连接正忙于另一个hstmt的结果

请注意,我们的连接是使用ODBC连接完成的。

顺便说一句,当我将已经改变的数据库复制到我的DEV机器时,它也会发生。

任何人都知道如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

这告诉您在一个连接上无法运行多个活动查询。

单凭它你可以:

  • 在执行任何其他操作之前,关闭或获取记录集中的所有记录。
  • 为第二个记录集打开一个新连接,而第一个记录集 一个人仍然活跃。

答案 1 :(得分:0)

我会在你的ALTER之后检查你正在做一个SQLFreeStmt(SQL_CLOSE)或SQLCloseCursor()。由于yassine __

的上述原因

答案 2 :(得分:0)

在为同一个连接构建另一个DataReader之前,我错误地没有关闭DataReader

请注意,垃圾收集器会自动更早地处理DataReader。 我提到过ALTER TABLE增加了2个新字段。读者没有被GC处理的原因是因为我没有读出所有字段(我读了除2个新字段以外的所有字段)。

收集第一个读者的GC只是运气,直到我添加了这些字段。之后它再也没有收集读者,而是我得到了这个例外。

无论如何,我已经在Finally区块内关闭了阅读器,现在可以正常使用了。

还有一个谜是在Sql Server 2008和(最肯定的)Access上我没有得到同一场景的例外。但我不确定。