O Extensor de Banco de Dados ODBC
do WebSphere Message Broker contém o
gerenciador de drivers unixODBC. Você deve instalar e configurar o broker para utilizá-lo.
As informações a seguir
se aplicam a todos os bancos de dados suportados.
Antes de começar:
- Copie o arquivo de amostra odbc.ini que é fornecido no diretório install_dir/ODBC/unixodbc/ para um local de sua escolha. Cada
ID do usuário do serviço do broker no sistema pode, portanto, utilizar suas próprias definições de DSN.
Consulte o conteúdo do arquivo de amostra em
Arquivos de Configuração ODBC de Amostra do WebSphere Message Broker.
Nota: Para
evitar problemas com os procedimentos de backup e restauração, recomendamos
que a cópia do arquivo de amostra seja colocado no diretório /var/mqsi, em vez de no
diretório inicial de seu ID de usuário.
- Certifique-se de que o arquivo odbc.ini tenha a propriedade de arquivo mqm:mqbrkrs e as mesmas permissões do arquivo de amostra fornecido.
- Configure a variável de ambiente ODBCINI para apontar para seu arquivo odbc.ini, especificando um caminho e nome de arquivo completos. Certifique-se de apontar para a cópia e de não apontar para o arquivo odbc.ini nos diretórios de instalação.
- Copie o arquivo de amostra odbcinst.ini que é fornecido no diretório install_dir/ODBC/unixodbc/ para um local de sua escolha. Consulte Nota: na etapa 1.
Consulte o conteúdo do arquivo de amostra em
Arquivos de Configuração ODBC de Amostra do WebSphere Message Broker.
- Certifique-se de que o arquivo odbcinst.ini tenha a propriedade de arquivo mqm:mqbrkrs e as mesmas permissões do arquivo de amostra fornecido.
- Configure a variável de ambiente ODBCSYSINI para apontar para o diretório
que contém o arquivo odbcinst.ini,
especificando um nome de caminho completo. Certifique-se de apontar para o diretório
que contém a cópia e de não apontar para o diretório que contém o arquivo odbcinst.ini nos diretórios
de instalação.
- Se você estiver se conectando aos bancos de dados DB2 solidDB ou Informix, configure a variável de ambiente
do caminho da procura da biblioteca para mostrar o local das bibliotecas
do gerenciador do banco de dados que está sendo usado.
Para obter informações adicionais sobre o caminho da procura da biblioteca, consulte o administrador de
banco de dados (DBA) ou consulte a documentação do gerenciador do banco de dados.
As atualizações no caminho da procura da biblioteca não são necessárias para outros bancos de
dados suportados.
- Se você estiver utilizando uma instância de banco de dados DB2 que está instalada no AIX,
um único processo poderá fazer, no máximo, 10 conexões, utilizando a memória compartilhada para
um banco de dados DB2. Utilize o modo
TCP/IP para se conectar à instância de banco de dados; consulte A Mensagem de Erro SQL1224N do DB2 é Emitida Quando Você Conecta-se ao DB2.
- Edite a sub-rotina
final no arquivo odbc.ini,
a sub-rotina [ODBC], para especificar o local dos Drivers ODBC
DataDirect instalados.
Para assegurar que você editou o arquivo
odbc.ini correto, é possível abrir o arquivo no editor de texto vi usando o seguinte comando:
vi $ODBCINI
- No InstallDir, inclua o local da instalação do WebSphere Message Broker
para concluir o caminho completo para o diretório ODBC. Se você não especificar este valor corretamente, a definição do ODBC não funcionará.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;##########################################
;###### Sub-rotina de informações obrigatórias ######
;##########################################
[ODBC]
InstallDir=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8
- Edite a primeira sub-rotina no arquivo odbc.ini, a sub-rotina [ODBC Data Sources], para listar o DSN de cada banco de dados.
Por
exemplo, no
AIX:
;##########################################
;###### List of data sources stanza #######
;##########################################
[ODBC Data Sources]
DB2DB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 6.0 ODBC Oracle Wire Protocol
ORACLERACDB=DataDirect 6.0 ODBC Oracle RAC Wire Protocol
SYBASEDB=DataDirect 6.0 ODBC Sybase Wire Protocol
SYBASEDBUTF8=DataDirect 6.0 ODBC Sybase UTF8 Wire Protocol
SQLSERVERDB=DataDirect 6.0 ODBC SQL Server Wire Protocol
INFORMIXDB=IBM Informix ODBC Driver
SOLIDDB_DB=IBM Solid DB ODBC Driver
Liste todos os seus DSNs no arquivo odbc.ini, independentemente do gerenciador de banco de dados. É possível definir diversos DSNs para serem resolvidos no mesmo
banco de dados, entretanto, se você estiver usando a coordenação global de transações
com um banco de dados Oracle, não use essa opção, porque ela poderia causar
problemas de integridade de dados.
- Para cada banco de dados listado na sub-rotina [ODBC Data Sources], no arquivo odbc.ini, crie uma sub-rotina de origem
de dados no arquivo odbc.ini.
As entradas na sub-rotina dependem do gerenciador de banco de dados. Também
ocorrem suaves diferenças entre os sistemas operacionais, por exemplo, os caminhos
de arquivo para os drivers.
- Para uma instância de banco de dados DB2:
- Para Linux em x86:
- Em Driver, inclua o caminho completo de sua instalação do DB2.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- No Banco de Dados, digite o alias do DB2. O nome da origem de dados deve ser o mesmo que o nome do alias do banco de dados. Se estiver usando um banco de dados DB2 remoto, você deverá configurar sua conexão cliente/servidor
para resolver este alias para o banco de dados correto.
Se você precisar de diversas sub-rotinas que façam referência ao
mesmo banco de dados DB2, aliases deverão ser criados no DB2 usando o comando CATALOG do DB2. Esses
aliases podem então ter sua própria sub-rotina no arquivo ODBCINI.
O arquivo ODBCINI não pode ser usado para configurar aliases para o DB2.
Para obter informações adicionais, consulte a documentação do DB2.
Por Exemplo:
# Sub-rotina DB2
[MYDB2DB]
Driver=/opt/IBM/db2/V9.7/lib32/libdb2.so
Description=IBM DB2 ODBC Database
Database=MYDB2DB
- Para todas as outras plataformas:
- Em Driver, inclua o caminho completo de sua instalação do DB2.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- No Banco de Dados, digite o alias do DB2. O nome da origem de dados deve ser o mesmo que o nome do alias do banco de dados. Se estiver usando um banco de dados DB2 remoto, você deverá configurar sua conexão cliente/servidor
para resolver este alias para o banco de dados correto.
Para obter informações adicionais, consulte a documentação do DB2.
Se você precisar de diversas sub-rotinas que façam referência ao
mesmo banco de dados DB2, aliases deverão ser criados no DB2 usando o comando CATALOG do DB2. Esses
aliases podem então ter sua própria sub-rotina no arquivo ODBCINI.
O arquivo ODBCINI não pode ser usado para configurar aliases para o DB2.
Por
exemplo, no AIX:
;# Sub-rotina DB2
[MYDB2DB]
DRIVER=/opt/IBM/db2/V9.7/lib64/db2o.o
Description=IBM DB2 ODBC Database
Database=MYDB2DB
- Para um banco de dados Oracle:
- Para todas as plataformas:
- Em Driver, inclua o local de instalação do WebSphere Message Broker para concluir o caminho completo do driver mostrado no arquivo odbc.ini de amostra.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- Em HostName, digite o nome ou o endereço
IP da máquina que está hospedando o seu sistema Oracle.
- No PortNumber,
digite o número da porta na qual o seu servidor Oracle está atendendo, na máquina
especificada em HostName.
- Em ServiceName, digite o nome de serviço
Oracle ao qual você deseja conectar-se no sistema especificado em
HostName.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;# Sub-rotina Oracle
[MYORACLEDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKora24.so
Description=DataDirect ODBC 7.0 Oracle Wire Protocol
HostName=my-machine.hursley.ibm.com
PortNumber=1521
ServiceName=my-oracle-service
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
- Para um banco de dados Oracle que utiliza Clusters de Aplicativos Reais:
- Para todas as plataformas:
- Em Driver, inclua o local de instalação do WebSphere Message Broker para concluir o caminho completo do driver mostrado no arquivo odbc.ini de amostra.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- No HostName, digite o nome ou o endereço IP da
máquina que está hospedando sua instância Oracle primária (preferencial).
- No PortNumber,
digite o número da porta na qual o seu servidor Oracle está atendendo, na máquina
especificada em HostName.
- No ServiceName, digite o nome do serviço de Cluster de Aplicativo
Real Oracle ao qual você deseja conectar-se no sistema especificado
em HostName.
- Em AlternateServers, forneça uma
lista de locais alternativos para este serviço para situações em que o
local primário, que é definido em HostName, esteja
indisponível. Cada especificação de local consiste em três partes,
que são separadas por dois-pontos. Insira esses valores como uma sequência contínua; o texto nesse exemplo foi divido para melhorar a capacidade de leitura.
HostName=<Nome do host alternativo>
:PortNumber=<Porta listener do Oracle no servidor alternativo>
:ServiceName=<Nome do serviço no servidor alternativo>
Se
você desejar especificar mais de um AlternateServer, separe cada especificação de local
adicional com uma vírgula. Sempre que uma nova conexão com o banco de dados for necessária, por
exemplo, após um failover da instância Oracle, o local primário será tentado primeiro. Entretanto, se o local primário estiver indisponível, o driver tentará então a lista de locais alternativos.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;# Sub-rotina Oracle Real Application Clusters
[MYORACLERACDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKora24.so
Description=DataDirect 7.0 ODBC Oracle RAC Wire Protocol
HostName=my-primary-machine.hursley.ibm.com
PortNumber=1521
ServiceName=my-oracle-rac-service
;#Isso mostra uma definição de servidor alternativa. Inclua definições extras usando uma ',' para separar cada definição.
AlternateServers=(HostName=my-first-backup-machine.hursley.ibm.com:PortNumber=1521:ServiceName=my-oracle-rac-first-backup-service,HostName=my-second-backup-machine.hursley.ibm.com:PortNumber=1521:ServiceName=my-oracle-rac-second-backup-service)
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
Para um banco de dados Oracle que usa Secure Socket Layer (SSL):
Para todas as plataformas:
- Em Driver, inclua o local de instalação do WebSphere Message Broker para concluir o caminho completo do driver mostrado no arquivo odbc.ini de amostra.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- No HostName, digite o nome ou o endereço IP da
máquina que está hospedando sua instância Oracle primária (preferencial).
- No PortNumber, digite o número da porta na qual o seu servidor
Oracle está atendendo a conexões SSL na máquina especificada em HostName.
- No ServiceName, digite o nome do serviço Oracle SSL ao qual você
deseja conectar-se no sistema especificado em HostName.
- No KeyPassword, digite a senha da chave SSL.
- No KeyStore, digite o nome completo do armazenamento de chaves
SSL.
- No KeyStorePassword, digite a senha do armazenamento de chaves
SSL.
- No TrustStore, digite o nome completo do armazenamento confiável SSL.
- No TrustStorePassword, digite a senha do armazenamento confiável SSL.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;# Oracle usando a sub-rotina SSL
[MYORACLESSLDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V7.0/lib/UKora26.so
Description=DataDirect 7.0 ODBC Oracle Wire Protocol
HostName=my-machine.hursley.ibm.com
PortNumber=2484
ServiceName=my-oracle-ssl-service
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
AuthenticationMethod=1
KeyPassword=my-password
KeyStore=/Development/ssl/my-store.p12
KeyStorePassword=my-password
TrustStore=/Development/ssl/my-store.p12
TrustStorePassword=my-password
ValidateServerCertificate=1

- Para um banco de dados Sybase:
- Para todas as plataformas, exceto Linux em System
z:
- Em Driver, inclua o local de instalação do WebSphere Message Broker para concluir o caminho completo do driver mostrado no arquivo odbc.ini de amostra.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- Em Banco de Dados (Database), digite o nome do banco de dados
ao qual você deseja conectar-se por padrão. Se não for especificado um valor, o valor padrão é o banco de dados
definido pelo administrador do sistema para cada usuário.
- Em NetworkAddress, digite o endereço de rede de seu
servidor Sybase ASE (este endereço é necessário para bancos de dados remoto e local). Especifique um endereço IP ou nome de servidor conforme a seguir:
<Your Sybase server name or IP address>,<Your Sybase port number>
Por exemplo: Sybaseserver,5000. É possível também
especificar o endereço IP diretamente, por exemplo, 199.226.224.34,5000.
É possível localizar o número da porta no arquivo de interfaces do Sybase denominado interfaces.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;# Sub-rotina Sybase
[MYSYBASEDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKase24.so
Description=DataDirect 7.0 ODBC Sybase Wire Protocol
Database=SYBASEDB1
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=my-machine.hursley.ibm.com:4100
SelectUserName=1
ColumnSizeAsCharacter=1
EnableSPColumnTypes=2
LoginTimeout=0
TimestampTruncationBehavior=1
XAConnOptBehavior=3
Se você desejar utilizar uma origem de dados do Sybase
UNICODE UTF8, inclua a seguinte linha no final de sua sub-rotina do Sybase:Charset=UTF8
- Para acesso remoto a um banco de dados do Servidor SQL
- Para todas as plataformas, exceto Linux em POWER:
- Em Driver, inclua o local de instalação do WebSphere Message Broker para concluir o caminho completo do driver mostrado no odbc.ini de amostra.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- No Endereço, ou:
- Especifique um endereço IP ou nome do servidor e um número de porta para localizar o banco de dados SQLServer a que deseja se conectar, da seguinte maneira:
<Your SQLServer machine name or IP address>,<Your SQLServer port number>
ou
- Especifique um endereço IP ou nome do servidor e um nome de instância para localizar o banco de dados SQLServer a que deseja se conectar, da seguinte maneira:
<Your SQLServer machine name or IP address>\<Your SQLServer instance name>
Se o nome de sua instância estiver em branco, especifique <o nome de seu computador SQLServer ou o endereço IP>
- Em Banco de Dados (Database), digite o nome do banco de dados
ao qual você deseja conectar-se por padrão. Se não for especificado um valor, o valor padrão é o banco de dados
definido pelo administrador do sistema para cada usuário.
- Aceite os valores padrão mostrados no arquivo odbc.ini de amostra para todas as
outras entradas na sub-rotina.
Por
exemplo, no
AIX:
;# UNIX para sub-rotina SQLServer
[MYSQLSERVERDB]
Driver=/usr/opt/IBM/mqsi/8.0.0.4/ODBC/V6.0/lib/UKmsss24.so
Description=DataDirect 7.0 ODBC SQL Server Wire Protocol
Address=my-machine.hursley.ibm.com:1433
AnsiNPW=Yes
Database=MYSQLSERVERDB
QuotedId=No
ColumnSizeAsCharacter=1
LoginTimeout=0
- Para um banco de dados Informix
-
- Para Linux em x86
- Em Driver, inclua o caminho completo de sua biblioteca do Informix Client.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- Em Nome do Servidor, digite o nome do servidor IDS do
Informix.
- Em Banco de Dados (Database), digite o nome do banco de dados
ao qual você deseja conectar-se por padrão. Se não for especificado um valor, o valor padrão é o banco de dados
definido pelo administrador do sistema para cada usuário.
Por Exemplo:
;# Sub-rotina Informix
[MYINFORMIXDB]
Driver=/Informix/client/lib/cli/iclit09b.so
Description=IBM Informix ODBC Database
ServerName=my-machine
Database=MYDB
- Para todas as outras plataformas:
- Em Driver, inclua o caminho completo da biblioteca do Informix Client.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- Em Nome do Servidor, digite o nome do servidor IDS do
Informix.
- Em Banco de Dados (Database), digite o nome do banco de dados
ao qual você deseja conectar-se por padrão. Se não for especificado um valor, o valor padrão é o banco de dados
definido pelo administrador do sistema para cada usuário.
Por
exemplo, no
AIX:
;# Sub-rotina Informix
[MYINFORMIXDB]
Driver=libinfWrapper.so
Description=IBM Informix ODBC Database
ServerName=my-machine
Database=MYDB
- Para um banco de dados solidDB:
- Para todas as plataformasexceto Linux em POWER e Linux em System
z:
Lado do cliente
odbc.ini arquivo
- Em Driver, inclua o caminho completo de sua biblioteca do solidDB Client.
- Em Descrição (Description), digite uma descrição significativa
do banco de dados. Esse campo é somente informativo e não afeta
a conexão.
- Em Banco de Dados (Database), digite o nome do banco de dados
ao qual você deseja conectar-se por padrão. Se não for especificado um valor, o valor padrão é o banco de dados
definido pelo administrador do sistema para cada usuário.
Por
exemplo, no
AIX:
;# SolidDB Stanza
[SOLID_DB]
Driver=/opt/solidDB/bin/soca5x6465.so
Description=IBM Solid DB ODBC database
Database=SOLIDDB_DB
Nota: todas as informações adicionais
são ignoradas.
solid.ini arquivo
- Este arquivo de configuração está localizado no diretório referenciado
pela variável de ambiente SOLIDDIR.
- O mapeamento de solid.ini
ocorre a partir do nome da origem de dados (conforme definido em ODBCINI) para a sequência de conexões solidDB.
- A
sequência de conexões tem o formato <nome lógico do driver> = <sequência de conexões físicas do solidDB>.
- A
cadeia de conexão Física especifica o:
- Protocolo
- Nome da máquina ou endereço IP
- Número da porta a ser usado
Por
exemplo, no
AIX:
[Data Sources]
SOLIDDB_DB=tcp my_aix_system 1964
Lado do
servidor
solid.ini arquivo
- Esse arquivo de configuração está localizado no diretório de instalação
de solidDB.
- Configure a Origem de Dados como para o arquivo solid.ini do lado do cliente.
- Configure Listen para onde o listener do
servidor está localizado.
- Configure CharPadding=yes e NumericPadding=yes para
ativar o preenchimento.
Por
exemplo, no
AIX:
[Data Sources]
SOLIDDB_DB=tcp my_aix_system 1964
[COM]
Listen=tcpip 1964
[SQL]
CharPadding=yes
NumericPadding=yes
- Assegure-se de ter editado todas as partes necessárias de todos
os arquivos .ini relevantes:
- A sub-rotina [Origem de Dados ODBC] na parte superior do arquivo odbc.ini.
- Uma sub-rotina para cada origem de dados no arquivo odbc.ini.
- A sub-rotina [ODBC] no final do arquivo odbcinst.ini.
- Além disso, para solidDB, os arquivos
solid.ini do lado cliente e servidor.
Se você não configurar todas as partes corretamente, os DSNs do ODBC
não funcionarão e o broker não conseguirá se conectar ao banco de dados.

Agora você configurou conexões com o banco de dados no
Linux e
UNIX.
É
possível verificar se o ambiente ODBC está configurado corretamente executando o comando
mqsicvp.
Para obter
informações adicionais, consulte Comando mqsicvp.