5

运行 SSIS 包时,我收到Connection Busy With Results From Another Command来自 SQLServer Native Client 驱动程序的错误。仅在与 SQLServer 2000 对话时。与 SQLServer 2005 对话的不同部分似乎总是运行良好。有什么想法吗?

4

5 回答 5

13

正如我刚刚发现的,如果您没有启用 MARS,这也可能发生在 SQL 2005 上。我什至不知道它默认被禁用,但它是。并确保您使用的是“NATIVE OLEDB\SQL Native Client”连接类型。如果您使用的是“OLEDB.1”类型的连接(或其他...) MARS 甚至不是一个选项,并且您会得到 SQL 2000 的行为,这很讨厌。

您可以通过打开连接属性并单击“全部”并在 Management Studio 中向下滑动来启用 MARS。

我知道你的问题早就得到了回答,但我只是把这个扔给像我这样被这个烧伤的下一个傻瓜。

于 2010-02-01T00:01:49.300 回答
5

今天使用 MS ODBC Driver 11 for SQL Server for Linux 到 SQL Server 连接出现此错误。考虑到这是我进行搜索时的第一个 Google 搜索结果,想帮助下一个搜索者。

您需要在 /etc/odbc.ini 中设置 MARS_Connection 如下:

[ConnName]
Driver=ODBC Driver 11 for SQL Server
Server=192.168.2.218,1433
Database=DBNameHere
MARS_Connection=yes

说到 MS ODBC Linux 驱动程序:它是一个完整的 PITA 来处理它,但我坚持使用原生解决方案。我经历了太多的墙,尤其是在使用 ZF2 时,但是,我可以说,每一个问题都有驱动程序的解决方案。只是为了鼓励人们使用它而不是迅速放弃。

于 2015-01-24T21:25:04.753 回答
2

如果有人在使用带有 ODBC 的 PHP PDO 时遇到了这个烦人的错误,那么closeCursor()在查询执行后使用方法。

于 2013-07-29T11:37:33.277 回答
1

Microsoft 知识库文章 822668与此处相关:

修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息

症状

在压力情况下,当您执行链接服务器活动时,您可能会收到以下错误消息:

Server: Msg 7399, Level 16, State 1, Procedure <storedProcedureName>, Line 18 OLE DB provider 'SQLOLEDB' reported an error. 
OLE/DB Provider 'SQLOLEDB' ::GetSchemaLock returned 0x80004005:

OLE DB provider SQLOLEDB supported the Schema Lock interface, but returned 0x80004005 for GetSchemaLock .]. 
OLE/DB provider returned message: Connection is busy with results for another command 
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ::CreateSession returned 0x80004005.

注意错误的 OLE DB 源可能会有所不同。但是,错误消息的所有变体都包含文本“连接正忙于处理另一个命令的结果”。

解析度

要解决此问题,请获取 Microsoft SQL Server 2000 的最新服务包。

如上所述,该问题首先在 SQL Server 2000 Service Pack 4 中得到纠正。

RDA Corp 的高级软件工程师 Mark Meyerovich 的这篇博文也提供了一些见解(现已存档,因为原始链接已失效):

SQL Server 服务包升级

在 Google 上快速搜索会出现以下文章 ( http://support.microsoft.com/kb/822668 ): 修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息。

这基本上意味着问题是一个错误,建议升级到 Service Pack 4。我们已经开始使用 SQL Server 2000 SP3,并且我们确实有一些链接服务器,所以我们试一试。升级到 SP4 后 - 结果相同。

于 2008-09-02T17:29:38.790 回答
0

仅供参考,如果其他人有问题。我尝试通过带有嵌入式 sql 的 ODBC 在 SQLEXPRESS 上通过富士通的 NetCobol 进行连接,为了解决我必须更改注册表中的值的问题,即

\HKLM\Software\ODBC\ODBC.INI\MyDSN

使用 MyDSN 作为字符串值:

Name - MARS_Connection
Value - Yes

如果有帮助,我只是把信息放在这里。

于 2017-05-08T18:35:47.603 回答