Os transportes de banco de dados permitem mover dados de um banco de dados para um
pipeline. Para utilizar o transporte de banco de dados, digite um transporte de banco de dados utilizando
um URI (Universal Resource Identifier).
Nota: O transporte de banco de dados não é suportado no IBM DB2 no z/OS.
O formato
para o transporte de banco de dados é:
"type://username:password@database/?table=tablename&order=table&timeout=seconds&concurrency=N"
Nota: Como alguns dos caracteres utilizados neste transporte são especiais para ambientes de linha de comandos (especificamente os caracteres ? e &), se você especificar este transporte em uma linha de comandos, será necessário colocar o transporte inteiro entre aspas. Por exemplo: pipeline -d -t "db2://up@db/?table=tn_source&order=table"
- type://
- Parâmetro necessário que indica que o método de transporte é um banco de dados
e especifica o tipo de banco de dados.
- Valores válidos são:
- oci:// para bancos de dados Oracle
- mssql:// para bancos de dados Microsoft SQL
- db2:// para bancos de dados DB2
- username:password@database_name
- Este parâmetro de fato representa vários parâmetros: username:password e @database_name.
- username:password: Parâmetro
que especifica o nome de login do usuário e a senha correspondente para o banco de dados
denominado. Se seu sistema não estiver configurado para utilizar autenticação de banco de dados
ou de sistema operacional confiável, será necessário digitar estes parâmetros com o parâmetro de
nome do banco de dados.
- @database_name: Parâmetro necessário que especifica o nome
do banco de dados do qual estão sendo transportados dados. Se seu sistema estiver
configurado para utilizar autenticação de banco de dados confiável, será necessário digitar
apenas o parâmetro de nome do banco de dados.
- Exemplos por banco de dados:
- Bancos de dados Oracle configurados para utilizar autenticação confiável: :@relres_sid (Não
é necessário digitar os parâmetros username:password.)
- Bancos de dados Oracle não configurados para utilizar autenticação confiável: rr:passw0rd@relres_sid
- Bancos de dados Microsoft SQL que utilizam conexões confiáveis: @relres_dsn (Não
é necessário digitar os parâmetros username:password.)
- Bancos de dados Microsoft SQL não configurados para utilizar conexões confiáveis: rr:passw0rd@relres
- Bancos de dados DB2 configurados para utilizar autenticação confiável: @relres
(Não é necessário digitar os parâmetros username:password.)
- Bancos de dados DB2 não configurados para utilizar autenticação confiável: rr:passw0rd@relres
- /?table=tablename
- Parâmetro necessário que indica a tabela no banco de dados
(o banco de dados denominado no parâmetro @database_name) para
leitura e gravação.
- &order=tablename
- Parâmetro opcional para indicar a ordem para recuperar e processar os dados
da tabela denominada.
- Esta opção pode ser utilizada quando não houver requisitos de priorização nos
dados que precisam ser carregados. Em alguns sistemas de banco de dados, você pode aprimorar
o desempenho quando a ordem na qual os registros são removidos da tabela é a ordem
natural selecionada pelo banco de dados. Utilizar esta opção permite que o banco de dados
retorne os registros da maneira mais eficiente, que, geralmente, é a ordem na qual
os registros foram inseridos.
- Para que as tabelas sejam compatíveis com o transporte de banco de dados, elas precisam
estar de acordo com o seguinte layout da coluna:
Tabela 1. Mapeamento da ordem de colunas em tabelas de banco de dados
como parte da URI de transporte de banco de dados Coluna |
Tipo |
Descrição/Valor |
Índice |
LOAD_SEQ |
INTEIRO, NÃO NULO |
Indica a prioridade da mensagem. Os valores válidos
são 0, 1, 2 e 3:- 0 indica prioridade crítica
- 1 indica prioridade alta
- 2 indica prioridade normal
- 3 indica prioridade baixa
|
Não exclusivo em LOAD_SEQ, apenas se não estiver especificando o parâmetro &order=tablename |
OWNER |
VARCHAR 256 |
O pipeline configura esta coluna como um identificador exclusivo durante o
processamento para evitar que outros pipelines dupliquem o trabalho. |
Não-exclusivo |
LOCK_TIME |
INTEGER 64-BIT |
Configure esta opção para indica a hora (em milissegundos de época)
em que o registro foi bloqueado. |
(Nenhum) |
MSG |
BLOB ou VARCHAR (se for o tamanho máximo de XML, este será sempre
menor do que o tamanho de VARCHAR) |
Mensagem UMF de entrada. |
(Nenhum) |
- &schema=schema_name
- Esse parâmetro opcional do DB2 permite que você especifique o nome de um esquema customizado do DB2.
Nota: O recurso de esquema customizado do DB2 não é compatível com o gerador de relatórios no Visualizador e no Console de Configuração.
Se você especificar um esquema customizado do DB2, os relatórios do Visualizador e do Console de Configuração não funcionarão.
- &timeout=n
- Este parâmetro opcional indica o número de segundos que o pipeline espera
uma resposta do banco de dados antes de exceder o tempo limite.
- Se este parâmetro não for especificado, o transporte tentará três vezes
obter uma resposta antes de exceder o tempo limite.
- &concurrency=n
- Este parâmetro opcional permite especificar o número de registros de entrada
(um inteiro positivo maior ou igual a 0) que o transporte de banco de dados
obtém de cada vez para processamento de pipelines. Quanto mais alto o número,
mais registros são obtidos para processamento.
- Por exemplo, uma simultaneidade de 0 indica o não processamento
dos registros. Uma simultaneidade de 1 indica registros de processo um a cada vez. Se este parâmetro
não for especificado, o número padrão de registros de entrada obtidos de cada vez será 5,
a menos que seja especificado de outra maneira.
- Você deve coordenar esta configuração com o número de encadeamentos de processamentos de pipeline distribuídos pela configuração de simultaneidade
no arquivo de configuração de pipeline ou no grupo de parâmetros do sistema
DEFAULT_CONCURRENCY no Console de Configuração.
A configuração da simultaneidade do pipeline determina o número de encadeamentos de processamentos de pipeline simultâneos que iniciam
quando um pipeline é iniciado. Se seu sistema estiver configurado para distribuir vários encadeamentos de processamentos de pipeline para cada pipeline iniciado, você pode querer aumentar esta configuração de simultaneidade de transporte de modo que os encadeamentos de pipeline não fiquem aguardando registros para processar.
Exemplos de Transportes de Banco de Dados
db2://CCadmin:passw0rd@Customers/?table=table2
Utilizando este exemplo de transporte de banco de dados, o sistema lê registros de entrada a partir do
banco de dados DB2 denominado "Customers" e a tabela denominada "table2", em que
o nome de login é "CCadmin" e a senha correspondente é "passw0rd".