none
SSIS - Conexão dinâmica a bancos e erro de metadata. RRS feed

  • Pergunta

  • Pessoal,

    Montei um projeto onde eu preciso rodar o mesmo script em bancos diferentes, pois estes são individualizados por exercício, ou seja, tenho um banco pra cada ano.

    Porém, ao usar um loop entre esses bancos pra rodar o script, tenho um erro de metadata, pois em alguns anos os campos estão com tamanhos diferentes.

    Erro apresentado: "Error: Cannot create an OLE DB accessor. Verify that the column metadata is valid."

    Alguém sabe como resolver isso?

    Obrigado!!


    sexta-feira, 21 de junho de 2013 13:18

Respostas

  • Você pode tentar escrever o script SQL e colocar CONVERT em cada coluna.

    O SSIS é fortemente tipado, e qualquer mudança nos metadados das colunas retornadas ele vai reclamar.

    Se voce colocar um script, e usando o CONVERT para cada coluna, independente do banco em que esteja, o tipo de dado vai ser o mesmo retornado.


    []'s | Rodrigo Ribeiro Gomes | MCTS/MCITP Dev/DBA

    segunda-feira, 1 de julho de 2013 14:11

Todas as Respostas

  • Joifer,

    na no seu componente de data source e aperte f4 para abrir a janela de propriedade, nela altere a opção de "ValidateExternalMetadata" para false, conforme print abaixo:


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    sexta-feira, 21 de junho de 2013 14:06
    Moderador
  • Você pode tentar escrever o script SQL e colocar CONVERT em cada coluna.

    O SSIS é fortemente tipado, e qualquer mudança nos metadados das colunas retornadas ele vai reclamar.

    Se voce colocar um script, e usando o CONVERT para cada coluna, independente do banco em que esteja, o tipo de dado vai ser o mesmo retornado.


    []'s | Rodrigo Ribeiro Gomes | MCTS/MCITP Dev/DBA

    segunda-feira, 1 de julho de 2013 14:11
  • Você pode tentar escrever o script SQL e colocar CONVERT em cada coluna.

    O SSIS é fortemente tipado, e qualquer mudança nos metadados das colunas retornadas ele vai reclamar.

    Se voce colocar um script, e usando o CONVERT para cada coluna, independente do banco em que esteja, o tipo de dado vai ser o mesmo retornado.


    []'s | Rodrigo Ribeiro Gomes | MCTS/MCITP Dev/DBA

    Rodrigo,

    É uma possibilidade esta sua sugestão, mas eu imagino que seja bem mais trabalhosa.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 3 de julho de 2013 18:15
    Moderador