Eu tenho um objeto Execute SQL Task na seção Error handlers de um pacote SSIS. O que ele faz é inserir um registro em uma tabela usando a conexão OLE DB. Há um valor na instrução insert que deve ser originado de uma variável de usuário.
Quando tento passar a consulta recebo o seguinte erro, pesquisei muito na internet e tentei várias coisas, mas ainda recebo a mensagem de erro:
"Falha ao analisar a consulta. As informações do parâmetro não podem ser derivadas das instruções SQL. Defina as informações do parâmetro antes de preparar o comando."
O que eu defini para o SQLStatement é:
INSERT INTO ErrorLog(ErrorDateTime, ErrorDescription) VALUES(GETDATE(),?)
O que eu tenho na seção Mapeamento de Parâmetros da Tarefa:
O SQLSourceType é "Entrada direta" e, como não há resultado para esta consulta, o ResultSet foi definido como "Nenhum".
A coluna ErrorDescription na tabela de destino é varchar(max).
Alguma ideia de como corrigir esse problema?
Você realmente tentou executar o pacote ou está apenas tentando analisar a consulta?
A tentativa de analisar consultas OLE DB com parâmetros falhará com o erro que você descreveu. Não analise a consulta se estiver usando OLE DB.
Eu criei sua tarefa e testei. Ele executa bem, mas se você clicar em "Parse query", ele retornará o mesmo erro que você está recebendo.