Mat*_*rge 5 sql-server connection ssis
我正在Connection Busy With Results From Another Command运行SSIS包时从SQLServer Native Client驱动程序收到错误.只有在与SQLServer 2000交谈时.与SQLServer 2005对话的另一个部分似乎总是正常运行.有什么想法吗?
Dav*_*kle 12
正如我刚刚发现的那样,如果你没有启用MARS,这也可能发生在SQL 2005上.我甚至都不知道它默认是禁用的,但确实如此.并确保使用"NATIVE OLEDB\SQL Native Client"连接类型.如果您正在使用"OLEDB.1"类型连接(或其他......)MARS甚至不是一个选项,并且您获得了SQL 2000行为,这是令人讨厌的.
您可以通过打开连接属性,然后单击"全部"并在Management Studio中向下搜索来启用MARS.
我知道你的问题早已得到解答,但我只是把它扔给了像我一样被我烧伤的下一个傻瓜.
今天有这个错误与MS ODBC驱动程序11 for SQL Server for Linux to 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
Run Code Online (Sandbox Code Playgroud)
说到MS ODBC Linux Driver:它是一个完整的PITA来处理它,但我坚持使用本机解决方案.我经历了太多的墙壁,特别是使用ZF2,但是,每个问题都有我能说的驱动程序的解决方案.只是鼓励人们使用它而不是快速放弃.
Microsoft 知识库文章 822668与此处相关:
\n\n\n\n\n修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息
\n\n症状
\n\n在压力条件下,当您执行链接服务器活动时,您可能会收到以下错误消息:
\n\nRun Code Online (Sandbox Code Playgroud)\n\nServer: Msg 7399, Level 16, State 1, Procedure <storedProcedureName>, Line 18 OLE DB provider \'SQLOLEDB\' reported an error. \nOLE/DB Provider \'SQLOLEDB\' ::GetSchemaLock returned 0x80004005:\n\nOLE DB provider SQLOLEDB supported the Schema Lock interface, but returned 0x80004005 for GetSchemaLock .]. \nOLE/DB provider returned message: Connection is busy with results for another command \nOLE DB error trace [OLE/DB Provider \'SQLOLEDB\' ::CreateSession returned 0x80004005.\n注意错误的 OLE DB 来源可能有所不同。但是,错误消息的所有变体都包含文本“连接正忙于处理另一个命令的结果”。
\n\n解决
\n\n要解决此问题,请获取 Microsoft SQL Server 2000 的最新 Service Pack。
\n
正如那里所指出的,该问题首先在 SQL Server 2000 Service Pack 4 中得到纠正。
\n\nRDA Corp 的高级软件工程师 Mark Meyerovich 的这篇博文也提供了一些见解(现已存档,因为原始链接已失效):
\n\n\n\nSQL Server 服务包升级
\n\n在 Google 上快速搜索会发现以下文章 ( http://support.microsoft.com/kb/822668):\n修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息。
\n\n它基本上意味着该问题是一个错误,并建议升级到 Service Pack 4。我们已经开始使用 SQL Server 2000 SP3,并且我们确实有一些链接服务器,因此我们尝试一下。升级到 SP4 \xe2\x80\x93 后结果相同。
\n