Como corrigir native client error 'Conexão está ocupada com os resultados de outro comando'?

StackOverflow https://stackoverflow.com/questions/39928

  •  09-06-2019
  •  | 
  •  

Pergunta

Eu estou recebendo um Connection Busy With Results From Another Command de erro a partir de um SQLServer driver Cliente Nativo quando um pacote do SSIS está em execução.Somente quando falar com SQLServer 2000.Uma outra parte que fala para SQLServer 2005 parece sempre funcionar bem.Quaisquer pensamentos?

Foi útil?

Solução

Microsoft artigo do KB 822668 é relevante aqui:

CORREÇÃO:"A conexão está ocupada com os resultados de outro comando" mensagem de erro ocorre quando você executar uma consulta de servidor ligado

Sintomas

Sob condições de estresse, você pode receber a seguinte mensagem de erro quando você executar atividade de servidor vinculado:

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.

Nota A origem de OLE DB do erro pode variar.No entanto, todas as variações da mensagem de erro inclui o texto "a Conexão está ocupada com os resultados de outro comando".

Resolução

Para resolver este problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000.

Como observado por lá, o problema foi corrigido primeiro no SQL Server 2000 Service Pack 4.

Este post de blog por Mark Meyerovich, um Sênior Engenheiro de Software na RDA Corp, também fornece algumas informações sobre o (agora arquivados, porque, o link original foi morto):

O SQL Server service pack atualização

Uma rápida pesquisa no Google aparece o seguinte artigo (http://support.microsoft.com/kb/822668):CORREÇÃO:"A conexão está ocupada com os resultados de outro comando" mensagem de erro ocorre quando você executar uma consulta de servidor ligado.

Basicamente isso implica que o problema é um bug e recomenda uma atualização para o Service Pack 4.Começamos com o SQL Server 2000 SP3 e temos alguns servidores ligados na equação, portanto, podemos dar-lhe uma tentativa.Depois de atualizar para o SP4 – mesmo resultado.

Outras dicas

Como eu acabei de descobrir, isso também pode acontecer em SQL 2005 se você não tiver MARTE habilitado.Eu nem sabia que ele foi desativado por padrão, mas é.E certifique-se de que você está usando o "Ole db NATIVO\SQL Native Client" tipo de ligação.Se você estiver usando o "OLEDB.1" tipo de conexão (ou seja qual for...) MARTE não é uma opção, e você obter o SQL 2000 comportamento, o que é desagradável.

Você pode habilitar MARTE abrindo as propriedades de conexão, clicar em "Todos", e scolling para baixo no Management Studio.

Eu sei que a sua pergunta já foi respondida, mas eu só estou jogando isso para o próximo otário, como eu, que se queima por isso.

Tive esse erro hoje com o Driver ODBC para microsoft 11 para o SQL Server para Linux para conexão do SQL Server.Queria ajudar a avançar pesquisador considerando que este foi o primeiro resultado de pesquisa do Google, quando eu fiz a pesquisa.

Você precisa definir MARS_Connection em /etc/odbc.ini como a seguir:

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

Falando de microsoft ODBC Driver para Linux:Ele é um completo PITA lidar com isso, mas eu insisti usando uma solução nativa.Eu experimentei muitas paredes, especialmente trabalhando com ZF2, no entanto, todos os problemas tem uma solução com o driver posso dizer.Apenas para incentivar as pessoas a utilizar em vez disso rapidamente desistir.

Se alguém encontrou esse bug irritante enquanto usando PDO do PHP com ODBC e, em seguida, usar closeCursor() método após a execução da consulta.

Apenas para informação, se alguém tem o problema.Eu tentei conectar via NetCobol da Fujitsu em um SQLEXPRESS via ODBC com o sql incorporado e para resolver o problema que eu tinha para alterar um valor no registro do saber,

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

com MyDSN como um valor de seqüência de caracteres:

Name - MARS_Connection
Value - Yes

Acabei de colocar as informações aqui, se ele pode ajudar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top