Conectando-se aos Bancos de Dados

O intermediário utiliza a conexão ODBC para acessar o banco de dados e você deve configurar uma conexão ODBC em cada sistema intermediário. Este tópico descreve as conexões necessárias para um banco de dados de intermediário e como definir as conexões necessárias.

Conexões de Banco de Dados do Intermediário

O número de conexões requeridas pelo intermediário para o banco de dados depende, de alguma forma, das ações dos fluxos de mensagens sendo processadas. As conexões a seguir são requeridas para cada intermediário:

  • Cinco por encadeamentos do intermediário interno.
  • Um para cada vizinho Publicação/Assinatura, se a topologia foi implementada.
  • Uma para cada encadeamento de fluxo de mensagens que contenha um nó de publicação.
  • Uma para cada encadeamento de fluxo de mensagens que analise mensagens MRM.
  • Um número adicional se você estiver utilizando nós SCADA com o WebSphere MQ Everyplace.O número exato a ser adicionado depende se o conjunto de encadeamentos está sendo utilizado (determinado pela propriedade Utilizar Conjunto de Encadeamentos do nó SCADAInput):
    • Se Utilizar Conjunto de Encadeamentos não for selecionado (a definição padrão), adicione o número de clientes SCADA que irão conectar-se ao nó SCADAInput.
    • Se Utilizar Conjunto de Encadeamentos for selecionado, adicione o valor na propriedade Máximo de Encadeamentos do nó SCADAInput.O valor padrão é 500.

Se você estiver utilizando o mesmo banco de dados para vários intermediários, é necessário considerar todos os intermediários nos cálculos.

As conexões para vizinhos e nós de publicação são obrigatórias somente se você estiver utilizando publicações conservadas.

Quando você inicia um intermediário, ele abre todas as conexões requeridas para o banco de dados do intermediário para sua própria operação. Quando um intermediário é finalizado, ele libera todos os identificadores de conexão de banco de dados atuais.

Se estiver utilizando o DB2 para seu banco de dados, a ação padrão adotada pelo DB2 será limitar o número de conexões simultâneas a um banco de dados no valor do parâmetro de configuração maxappls.O padrão para maxappls é 40.Se você acreditar que as conexões necessárias pelo intermediário excedem o valor de maxappls, aumente-o e o parâmetro associado maxagents para valores novos com base em seus cálculos.

Definindo uma Conexão ODBC em Plataformas UNIX

Plataforma Linux: Nenhuma configuração ODBC é requerida na plataforma Linux. Nessa plataforma, o WebSphere Business Integration Event Broker conecta-se diretamente ao DB2, o único banco de dados suportado.

No ambiente UNIX, não há Administrador ODBC ou Gerenciador de Driver. Para configurar uma definição de DSN (Data Source Name) do ODBC, você deve editar as informações de sistema requeridas, que são retidas em um arquivo de texto corrido chamado .odbc.ini (observe que o nome desse arquivo começa com um ponto).

Esse arquivo deve ser criado no diretório identificado pela variável de ambiente ODBCINI .Se a variável não for definida, o diretório será padronizado para o diretório /var/wmqi/odbc, que é criado quando o WebSphere Business Integration Event Broker é instalado.O arquivo deve ter permissões de arquivo de mqm:mqbrkrs.

Um gabarito de amostra é fornecido como o arquivo <dir_de_instalação>/wmqi/merant/odbc.ini que contém exemplos de como configurar um DSN residente em cada um dos bancos de dados suportados pelo WebSphere Business Integration Event Broker.Os arquivos de gabaritos de amostra das plataformas suportadas são exibidos a seguir. Eles mostram a configuração recomendada para os bancos de dados suportados.

As entradas que você deve configurar nas sub-rotinas para corresponder aos requisitos locais são mostradas em itálico (as descrições dessas entradas seguem os exemplos a seguir, consulte Parâmetros ODBC.ini). É necessário conservar todas as entradas mostradas, mas é possível remover uma subrotina completa se não for necessária para a configuração (por exemplo, se estiver sendo utilizado um banco de dados do Oracle, podem ser removidas as mostradas para DB2 e Sybase).

Faça uma cópia do arquivo padrão, defina ODBCINI para que aponte para essa cópia e faça as alterações no arquivo copiado em vez de no padrão.

Verifique se a variável de ambiente do caminho de pesquisa da biblioteca apropriada (LD_LIBRARY_PATH no Solaris) esteja definida para refletir os produtos específicos do banco de dados a serem utilizados. Consulte a documentação do produto de banco de dados para obter detalhes adicionais.

Início da mudançaPlataforma AIX: No AIX, se estiver utilizando o DB2 como o banco de dados, serão permitidas no máximo 10 conexões utilizando memória compartilhada a partir de um único processo. Isso significa que, se você implementar mais do que um ou dois fluxos de mensagens ao mesmo tempo, poderá ocorrer falhas na conexão caracterizadas pela mensagem de erro SQL1224N do DB2. Os erros de conexão são relatados no log do sistema a partir do grupo de execução do intermediário. Para evitar esse problema, é necessário utilizar o modo TCP/IP para conectar-se ao DB2. Para obter instruções detalhadas sobre como fazer isso, consulte A mensagem de erro SQL1224N do DB2 é retornada ao conectar-se com oDB2.Fim da mudança

AIX
[ODBC Data Sources]
WBRKBKDB=IBM
DB2 ODBC Driver
MYDB=IBM DB2 ODBC DriverORACLEDB=DataDirect 410 Oracle DriverSYBASEDB=DataDirect 410 Sybase ASE Driver 
[WBRKBKDB]
Driver=/u/db2inst1/sqllib/lib/libdb2.a
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]Driver=/u/db2inst1/sqllib/lib/libdb2.a
Description=MYDB DB2 ODBC Database
Database=MYDB

[ORACLEDB]Driver=/usr/opt/wmqi/merant/lib/UKor818.so
Description=Oracle
ServerName=YourServerName
 EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
WorkArounds2=2
 
[SYBASEDB]Driver=/usr/opt/wmqi/merant/lib/UKase18.so
Description=Sybase12
Database=sybasedb
ServerName=YourServerName
WorkstationID=id
 EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=10.30.14.72,5000
SelectUserName=1
 
[ODBC]
Trace=0
TraceFile=/var/wmqi/odbc/odbctrace.out
TraceDll=/usr/opt/wmqi/merant/lib/odbctrac.so
InstallDir=/usr/opt/wmqi/merant
HP-UX
[ODBC Data Sources]
WBRKBKDB=IBM
DB2 ODBC Driver
MYDB=IBM DB2 ODBC DriverORACLEDB=DataDirect 410 Oracle DriverSYBASEDB=DataDirect 410 Sybase ASE Driver 
[WBRKBKDB]
Driver=/u/db2inst1/sqllib/lib/libdb2.sl
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]Driver=/u/db2inst1/sqllib/lib/libdb2.sl
Description=MYDB DB2 ODBC Database
Database=MYDB
 
[ORACLEDB]Driver=/opt/wmqi/merant/lib/UKor818.sl
Description=Oracle
ServerName=YourServerName
 EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
WorkArounds2=2
 
[SYBASEDB]Driver=/opt/wmqi/merant/lib/UKase18.sl
Description=Sybase12
Database=sybasedb
ServerName=YourServerName
WorkstationID=id
 EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=10.30.14.72,5000
SelectUserName=1
 
[ODBC]
Trace=0
TraceFile=/var/wmqi/odbc/odbctrace.out
TraceDll=/opt/wmqi/merant/lib/odbctrac.sl
InstallDir=/opt/wmqi/merant
Solaris
[ODBC Data Sources]
WBRKBKDB=IBM
DB2 ODBC Driver
MYDB=IBM DB2 ODBC DriverORACLEDB=DataDirect 410 Oracle DriverSYBASEDB=DataDirect 410 Sybase ASE Driver 
[WBRKBKDB]
Driver=/u/db2inst1/sqllib/lib/libdb2.so
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]Driver=/u/db2inst1/sqllib/lib/libdb2.so
Description=MYDB DB2 ODBC Database
Database=MYDB
 
[ORACLEDB]Driver=/opt/wmqi/merant/lib/UKor818.so
Description=Oracle
ServerName=YourServerName
 EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
WorkArounds2=2
 
[SYBASEDB]Driver=/opt/wmqi/merant/lib/UKase18.so
Description=Sybase12
Database=sybasedb
ServerName=YourServerName
WorkstationID=id
 EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=10.30.14.72,5000
SelectUserName=1
 
[ODBC]
Trace=0
TraceFile=/var/wmqi/odbc/odbctrace.out
TraceDll=/opt/wmqi/merant/lib/odbctrac.so
InstallDir=/opt/wmqi/merant

Se for acessar bancos de dados Oracle no AIX ou no Solaris, você deverá configurar links simbólicos:

  • No AIX:
    ln -s <ORACLE_INSTALL_DIR>/lib/libclntsh.a
    /usr/lib/libclntsh.so
  • No Solaris:
    ln -s <ORACLE_INSTALL_DIR>/lib/libclntsh.so
    /usr/lib/libclntsh.a

(em que <DIR_DE_INSTALAÇÃO_ORACLE> é o diretório no qual o Oracle está instalado em seu sistema).

Essa etapa não é requerida no HP-UX.

Se você falhar ao configurar esse link corretamente, a coordenação XA não funcionará. O gerenciador de filas do intermediário é iniciado (quando você inicia o intermediário ou quando você emite strmqm, se você optar por iniciá-lo independentemente), mas registra o erro AMQ7604 no log de erros do gerenciador de filas do WebSphere MQ, indicando que o Oracle retornou o erro XAER_RMFAIL ou XAER_RMERR.

Definindo uma Conexão ODBC no Windows

No Windows, você pode configurar uma origem de dados ODBC utilizando Administrador da Origem de Dados ODBC. (Selecione Iniciar > Configurações > Painel de Controle e, em seguida, ODBC.) Ao definir uma nova origem de dados, selecione o driver apropriado para seu banco de dados e conclua o diálogo que é exibido. Consulte a documentação do produto de banco de dados relevante para obter informações adicionais.

Considerações de configuração específicas ao WebSphere Business Integration Event Broker estão descritas a seguir para os bancos de dados suportados:

  • DB2 UDB

    Quando você define uma origem de dados para DB2 UDB, é necessário escolher o driver denominado IBM DB2 ODBC DRIVER.Digite o DSN (Data Source Name, nome da origem de dados) e a descrição e selecione o alias do banco de dados correto na lista drop-down.

    Para o DB2 é possível fazer isso mais facilmente, como se segue:

    1. Abra o DB2 Configuration Assistant
    2. Clique com o botão direito do mouse no banco de dados e selecione Alterar Banco de Dados.
    3. Selecione Origem de Dados
    4. Selecione Registrar esse banco de dados para ODBC
    5. Clique em Concluir
    6. O diálogo Conexão de Teste é aberto automaticamente e você pode testar as várias conexões.
  • Microsoft SQL Server

    Quando você define uma origem de dados para o Microsoft SQL Server, é necessário escolher o driver denominado SQL Server.A versão do driver deve ser a Versão 3.60 ou posterior. Especifique um nome e descrição e selecione o servidor correto na lista drop down.

  • Oracle

    Quando você define uma origem de dados para Oracle, é necessário escolher o driver denominado MQSeries DataDirect 4.10 32-BIT Oracle.Ao configurar esse driver, é necessário:

    • Inserir o nome DSN, a descrição e o nome do servidor (em que o nome do servidor é o "Nome de Serviço" que resolve um "Descritor de Conexão", por exemplo, através de um mapeamento no arquivo TSNAMES.ORA).
    • Assegure-se de que a caixa Ativar SQLDescribeParam esteja selecionada.Esse parâmetro se encontra na guia Avançado das definições de driver.
    • Crie uma nova subchave do registro para cada um de seus DSNs que faz referência a um banco de dados Oracle, utilizando REGEDIT para navegar para:
      HKEY_LOCAL_MACHINE
              SOFTWARE
              ODBC
                                ODBC.INI

      Clique com o botão direito do mouse no DSN e selecione Novo >Valor da Cadeia.Especifique Soluções Alternativas para a cadeia e defina o valor para 536870912.

  • Sybase Adaptive Server Enterprise

    Quando você define uma origem de dados para Sybase Adaptive Server Enterprise, é necessário escolher o driver denominado MQSeries DataDirect 4.10 32-BIT Sybase.Quando você configura esse driver para uso com WebSphere Business Integration Event Broker, é necessário:

    • Digitar o nome DSN, a descrição, o endereço de rede do servidor (para obter uma descrição do formato desse endereço, consulte a explicação de NetworkAddress= na Parâmetros ODBC.ini).
    • Assegure-se de que a caixa Ativar Parâmetro Describe esteja selecionada.Esse parâmetro encontra-se na guia Avançado.
    • Certifique-se de que a definição Preparar Método seja 1 - Parcial. Esse parâmetro encontra-se na guia Desempenho.

Parâmetros ODBC.ini

Configure os arquivos de gabarito, atualizando os seguintes parâmetros:

[ODBC Data Sources]
Essa descreve os DSNs (Data Source Name - nome da origem de dados) dos bancos de dados que são configurados no arquivo .odbc.ini.É necessário configurar essa para mostrar todos os bancos de dados e deve-se incluir uma para cada um.
Driver=
  • Se você estiver utilizando o DB2, especifique o local da biblioteca do driver que corresponde à instalação do DB2.
  • Se você estiver utilizando Oracle ou Sybase, utilize o caminho exatamente como mostrado.
Description=
Você pode alterar isso, se preferir. Esse é um campo de texto somente para informações e não tem relação com a operação.
Database=
  • Se você estiver utilizando o DB2, especifique o alias do banco de dados. Se você estiver utilizando um banco de dados DB2 remoto, será necessário configurar sua conexão cliente-servidor para que esse alias seja resolvido para o banco de dados correto. Para obter informações adicionais, consulte a documentação do DB2.
  • Se estiver utilizando o Sybase, especifique o nome do banco de dados para o qual deseja conectar-se por padrão. Se você não especificar um valor, o padrão é o banco de dados definido pelo administrador do sistema de cada usuário.
ServerName=
  • Se você estiver utilizando Oracle, especifique o "Nome de Serviço" que resolve para um "Descritor de Conexão", por exemplo, através de um mapeamento no arquivo TSNAMES.ORA.
  • Se você estiver utilizando Sybase, especifique o nome do servidor de banco de dados do Sybase que definiu na máquina de servidor.
NetworkAddress=
Especifique o endereço de rede do servidor Sybase (este é requerido para bancos de dados locais e remotos). Especifique o endereço IP da seguinte maneira:
<nome do servidor ou endereço IP>, <número_da_porta>

Por exemplo, Sybaseserver, 5000.É possível também especificar o endereço IP diretamente, por exemplo, 199.226.224.34, 5000.Você pode localizar o número da porta no arquivo de interfaces do Sybase, que, geralmente, é denominado interfaces, interfac, ou sql.ini, dependendo do sistema operacional.

WorkstationID=
Digite o identificador da estação de trabalho. Por exemplo, mqsiuid.
SelectUserName=
Este deve ser definido como 1.

Tarefas relacionadas
Configurando Bancos de Dados de Componentes
Criando os Bancos de Dados
Personalizando Bancos de Dados DB2
Autorizando Acesso aos Bancos de Dados

Referências relacionadas
Bancos de Dados Suportados