Mensagem de erro ao usar o SQL Server Integration Services para inserir dados em bancos de dados IBM DB2: SQLSTATE: 22007, SQLCODE: -180

Sintomas

Considere o seguinte cenário:

  • Use o SQL Server Integration Services (SSIS) e o Microsoft OLE DB Provider para v 4.0 DB2 para inserir dados em um banco de dados IBM DB2.

  • O destino OLE DB no pacote do SSIS é configurado com Accessmode = OpenRowset usando FastLoad.

  • O banco de dados do SQL Server de origem inclui alguns valores NULL para colunas definidas como tipos de dados DateTime2 e data que serão inseridos nas colunas do IBM DB2 definido como carimbo de hora e data de tipos de dados, respectivamente.


Durante o processo de inserção de dados no banco de dados IBM DB2 de SSIS, pode ocorrer um erro semelhante ao seguinte erro:

Erro: Código de erro SSIS DTS_E_OLEDBERROR.  Ocorreu um erro OLE DB. Código de erro: 0x80004005. Um registro de banco de dados OLE está disponível.  Fonte: "DB2 provedor Microsoft OLE DB" Hresult: 0x80004005 Descrição: "Erro não especificado".

Um registro de banco de dados OLE está disponível.  Fonte: "DB2 provedor Microsoft OLE DB" Hresult: 0x80040E14 Descrição: "a representação de sequência de caracteres de um valor datetime a sintaxe está incorreta. SQLSTATE: 22007, SQLCODE: -180 ".

Resolução

Há duas maneiras de resolver o problema.

  1. Alterar o OLE DB destino no pacote do SSIS para usar AccessMode = OpenRowset para desativar o uso de FastLoad. A desvantagem dessa opção é que o desempenho das inserções no banco de dados DB2 será muito mais lento, pois cada linha é aquele que foi inserido em um tempo.

  2. Adicione o seguinte parâmetro à sequência de conexão DB2 usada pelo SSIS para conectar-se ao sistema IBM DB2:

    Usar metadados inicial = true


Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×