CORREÇÃO: Mensagem de erro quando você usar o BizTalk Adapter for DB2 para chamar um DB2 de procedimento armazenado: "SQLSTATE: 42884, SQLCODE:-440"

Traduções de Artigos Traduções de Artigos
Artigo: 2590912 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Você pode usar o Microsoft BizTalk Adapter for DB2 para chamar um procedimento armazenado do IBM DB2. Quando o nome do procedimento armazenado possui um número como seu segundo caractere (por exemplo, E1SPNAME), você recebe a seguinte mensagem de erro:
SQLSTATE: 42884
SQLCODE:-440
O valor SQLSTATE indica que nenhuma rotina foi encontrada com o nome especificado e os argumentos compatíveis.
ObservaçãoEsse problema pode ocorrer também quando você usar qualquer um dos provedores de DB2 incluídos com o Microsoft Host Integration Server 2009.

Resolução

O hotfix que resolve esse problema está incluído na atualização cumulativa 1 para o Host Integration Server 2009.

Para obter mais informações sobre como obter o pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2587090 Pacote de atualização cumulativa 1 para o Host Integration Server 2009

Como contornar

Para contornar esse problema, pode alterar o nome do procedimento armazenado de DB2, para que seu segundo caractere contém um caractere alfabético em vez de um número.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informação

Esse problema ocorre somente quando um dos provedores de DB2 da Microsoft ou o BizTalk Adapter for DB2 envia um nome de duas partes para IBM DB2. Por exemplo, o erro ocorre se o seguinte formato é enviado para o IBM DB2, como o nome do procedimento no comando Executar SQL (EXCSQLSTT) da instrução:
SCHEMA_NAME.SP_NAME
ObservaçãoNesse formato, o espaço reservado SCHEMA_NAME representa o nome do esquema que você configurou na seqüência de conexão e o espaço reservado SP_NAME representa o nome do procedimento armazenado do DB2.

Quando armazenado apenas o nome do DB2 procedimento (ou seja, um nome de uma parte) é enviado para o IBM DB2 como o nome do procedimento no comando Executar SQL (EXCSQLSTT) de instrução, o erro não ocorre porque o nome correto do procedimento armazenado é enviado. Por exemplo, o erro não ocorre quando você usa um servidor vinculado do SQL Server para chamar um procedimento armazenado de DB2 usando o Microsoft OLE DB Provider para DB2.

Propriedades

Artigo: 2590912 - Última revisão: 13 de setembro de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Host Integration Server 2009
  • Microsoft BizTalk Adapters for Host Systems 2.0
Palavras-chave: 
kbqfe kbfix kbexpertiseinter kbsurveynew kbbug kberrmsg kbmt KB2590912 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2590912

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com