Quando encontra um erro de conexão ou de sintaxe, o Serviço de Integração retorna linhas de erro. A transformação SQL contém as seguintes portas padrão para emitir o texto de erro:
SQLError.
Retorna erros de banco de dados quando a transformação SQL é executada no modo de consulta.
ScriptError.
Retorna erros de banco de dados quando a transformação SQL é executada no modo de script.
Quando a consulta SQL contém erros de sintaxe, a porta de erro contém o texto de erro do banco de dados. Por exemplo, a seguinte consulta SQL gera uma linha de erro em um banco de dados Oracle:
SELECT Product_ID FROM Employees
A tabela Funcionários não contém Product_ID. O Serviço de Integração gera uma linha. A porta SQLError contém o texto do erro em uma linha:
ORA-0094: “Product_ID”: invalid identifier Database driver error... Function Name: Execute SQL Stmt: SELECT Product_ID from Employees Oracle Fatal Error
Quando uma consulta contém vários instruções e você configura a transformação SQL para prosseguir, mesmo havendo um erro SQL, a transformação SQL pode retornar linhas do banco de dados para uma instrução de consulta, mas retorna erros de banco de dados para outra instrução de consulta. A transformação SQL retorna qualquer erro de banco de dados em uma linha separada.
Quando você configura uma porta de passagem ou a porta NumRowsAffected, a transformação SQL retorna, pelo menos, uma linha para cada linha de origem. Quando uma consulta não retorna dados, a transformação SQL retorna os dados de passagem e os valores NumRowsAffected, mas retorna valores nulos nas portas de saída. Você pode remover linhas com valores nulos passando as linhas de saída por uma transformação Filtro.
As tabelas a seguir descrevem as linhas de saída que a transformação SQL retorna, dependendo do tipo de instruções de consulta.
A tabela a seguir descreve as linhas que a transformação SQL gera para as instruções de consulta UPDATE, INSERT ou DELETE:
Porta NumRowsAffected ou porta de passagem configurada
| | |
Nenhuma porta configurada.
| | |
Nenhuma porta configurada.
| |
Uma linha com o erro na porta SQLError.
|
Qualquer uma das duas portas configuradas.
| |
Uma linha para cada instrução de consulta com os dados da coluna de passagem ou NumRowsAffected.
|
Qualquer uma das duas portas configuradas.
| |
Uma linha com o erro na porta SQLError, a porta NumRowsAffected ou os dados da porta de passagem.
|
A tabela a seguir descreve o número de linhas de saída que a transformação SQL gera para instruções SELECT:
Porta NumRowsAffected ou porta de passagem configurada
| | |
Nenhuma porta configurada.
| |
Nenhuma ou mais linhas, dependendo das linhas retornadas para cada instrução SELECT.
|
Nenhuma porta configurada.
| |
Uma linha maior que a soma das linhas de saída para as instruções bem-sucedidas. A última linha contém o erro na porta SQLError.
|
Qualquer uma das duas portas configuradas.
| |
Uma ou mais linhas, dependendo das linhas retornadas para cada instrução SELECT.
Se NumRowsAffected estiver habilitada, cada linha conterá uma coluna NumRowsAffected com um valor zero.
Se uma porta de passagem estiver configurada, cada linha conterá os dados da coluna de passagem. Quando a consulta retorna várias linhas, os dados da coluna de passagem são duplicados em cada linha.
|
Qualquer uma das duas portas configuradas.
| |
Uma ou mais linhas, dependendo das linhas retornadas para cada instrução SELECT. A última linha contém o erro na porta SQLError:
Quando a porta NumRowsAffected está ativada, cada linha contém uma coluna NumRowsAffected com o valor zero.
Se uma porta de passagem estiver configurada, cada linha conterá os dados da coluna de passagem. Quando a consulta retorna várias linhas, os dados da coluna de passagem são duplicados em cada linha.
|
A tabela a seguir descreve o número de linhas de saída que a transformação SQL gera para consultas DDL como CREATE, DROP ou TRUNCATE:
Porta NumRowsAffected ou porta de passagem configurada
| | |
Nenhuma porta configurada.
| | |
Nenhuma porta configurada.
| |
Uma linha que contém o erro da porta SQLError.
|
Qualquer uma das duas portas configuradas.
| |
Uma linha que inclui a coluna NumRowsAffected com valor zero e os dados da coluna de passagem.
|
Qualquer uma das duas portas configuradas.
| |
Uma linha com o erro na porta SQLError, a porta NumRowsAffected com valor zero e os dados da coluna de passagem.
|