Notas sobre o Release


6.6 Acessando as Origens de Dados do Microsoft SQL Server Utilizando ODBC (Novo Capítulo)

Antes de incluir as origens de dados do servidor Microsoft SQL em um servidor federado do DB2, é preciso instalar e configurar o driver ODBC no servidor federado. Consulte os procedimentos de instalação na documentação que é fornecida com o driver ODBS, para obter detalhes específicos sobre como instalar o driver ODBC.

Para configurar o servidor federado para acessar os dados armazenados nas origens de dados do servidor Microsoft SQL, você precisa:

  1. Instale e configure o driver ODBC no servidor federado. Consulte os procedimentos de instalação na documentação que é fornecida com o driver ODBS, para obter detalhes específicos sobre como instalar o driver ODBC.

    Em servidores DB2 para Windows NT:
    Configure um DSN do sistema, utilizando o gerenciador de dispositivo ODBC. No Windows ODBC Data Administrator, especifique o driver do servidor SQL e prossiga através do diálogo para incluir um novo DSN de Sistema. Especifique "Autenticação de SQL Server utilizando ID de Login e senha fornecidos pelo usuário."

    Em servidores DB2 para AIX:
    Instale a versão encadeada das bibliotecas fornecidas pelo MERANT, especifique o diretório da biblioteca MERANT como a primeira entrada no LIBPATH e configure o arquivo .odbc.ini.
  2. Instale o DB2 Relational Connect Versão 7.2. Consulte a seção 6.3.3, Instalando o DB2 Relational Connect.
  3. Inclua as origens de dados do Microsoft SQL Server em seu servidor federado.
  4. Especifique as páginas de códigos do Microsoft SQL Server. (Windows NT somente)

Este capítulo discute as etapas 3 e 4.

As instruções neste capítulo aplicam-se às plataformas Windows NT e AIX. As diferenças específicas da plataforma são observadas onde elas ocorrem.

6.6.1 Incluindo Origens de Dados do Microsoft SQL Server em um Servidor Federado

Após você instalar o driver ODBC e o DB2 Relational Connect, inclua as origens de dados do Microsoft SQL Server em seu servidor federado utilizando estas etapas:

  1. Defina as variáveis de ambiente (apenas AIX).
  2. Execute o script de shell (apenas AIX).
  3. Opcional: Defina a variável de ambiente DB2_DJ_COMM. (AIX somente)
  4. Recicle a instância do DB2 (apenas AIX).
  5. Crie o wrapper.
  6. Crie o servidor.
  7. Crie um mapeamento do usuário.
  8. Crie pseudônimos para tabelas e exibições.
  9. Opcional: Obtenha os rastreios do ODBC.

Estas etapas são explicadas com detalhes nas seções a seguir.

6.6.1.1 Etapa 1: Definir as variáveis de ambiente (apenas AIX)

Defina variáveis de ambiente da origem de dados modificando o arquivo db2dj.ini e emitindo o comando db2set. O arquivo db2dj.ini contém informações de configuração para conectar-se às origens de dados do Microsoft SQL Server. O comando db2set atualiza o registro de perfil do DB2 com suas definições.

Em um sistema do banco de dados particionado, você pode utilizar um único arquivo db2dj.ini para todos os nós em uma instância específica ou você pode utilizar um único arquivo db2dj.ini para um ou mais nós em uma instância específica. Um sistema de banco de dados não-particionado pode ter apenas um arquivo db2dj.ini por instância.

Para definir as variáveis de ambiente:

  1. Edite o arquivo db2dj.ini localizado em $HOME/sqllib/cfg/ e defina as seguintes variáveis de ambiente:
    ODBCINI=$HOME/.odbc.ini
    DJX_ODBC_LIBRARY_PATH=<path to the Merant driver>/lib
    DB2ENVLIST=LIBPATH
     
    

Emita o comando db2set para atualizar o registro do perfil do DB2 com suas mudanças. A sintaxe de db2set é dependente da estrutura do sistema do banco de dados:

Para definir o caminho à biblioteca cliente, emita estes comandos:

db2set DB2LIBPATH=<path para a biblioteca cliente Merant>
db2set DB2ENVLIST=LIBPATH

6.6.1.2 Etapa 2: Executar o script de shell (apenas AIX)

O script de shell djxlink.sh liga as bibliotecas do cliente às bibliotecas do wrapper. Para executar o script de shell:

djxlink

6.6.1.3 Etapa 3: Opcional: Defina a Variável de Ambiente DB2_DJ_COMM (AIX Somente)

Se você achar que ela obtém um período de tempo irregular para acessar a origem de dados do Microsoft SQL Server, poderá melhorar o desempenho definindo a variável de ambiente DB2_DJ_COMM para carregar o wrapper quando o servidor federado é inicializado, em vez de quando você tenta acessar a fonte de dados. Defina a variável de ambiente DB2_DJ_COMM para incluir a biblioteca wrapper que corresponde ao wrapper especificado na Etapa 5. Por exemplo:

Em servidores DB2 para Windows NT:
db2set DB2_DJ_COMM=djxmssql3.dll

Em servidores DB2 para AIX:
db2set DB2_DJ_COMM=libmssql3.a

Assegure-se de que não haja nenhum espaço em nenhum lado do sinal de igual (=).

Consulte a publicação DB2 SQL Reference para obter mais informações sobre os nomes da biblioteca wrapper.

6.6.1.4 Etapa 4: Reciclar a instância do DB2 (apenas AIX)

Para assegurar-se de que as variáveis de ambiente estejam definidas no programa, recicle a instância do DB2. Quando você reciclar a instância, atualize a instância do DB2 para aceitar as alterações feitas. Recicle a instância do DB2, emitindo os seguintes comandos:

db2stop
db2start

6.6.1.5 Etapa 5: Criar o wrapper

O DB2 Universal Database possui dois protocolos diferentes, chamados wrappers, que você pode utilizar para acessar as origens de dados do Microsoft SQL Server. Wrappers são mecanismos que os servidores federados utilizam para comunicar-se com as origens de dados e recuperar dados destas fontes. O wrapper que você utiliza depende da platarfoma na qual o DB2 Universal Database está sendo executado. Utilize Tabela 3 como um guia, para selecionar o wrapper apropriado.

Tabela 3. controladores ODBC
controlador ODBC Plataforma Nome do Wrapper
Driver ODBC 3.0 (ou superior) Windows NT DJXMSSQL3
Driver MERANT DataDirect Connect ODBC 3.6 AIX MSSQLODBC3

Utilize a instrução CREATE WRAPPER para especificar o wrapper que será utilizado para acessar as origens de dados do Microsoft SQL Server. O exemplo a seguir mostra uma instrução CREATE WRAPPER:

CREATE WRAPPER DJXMSSQL3 

onde DJXMSSQL3 é o nome do wrapper padrão utilizado em um servidor DB2 para Windows NT (utilizando o driver ODBC 3.0). Se você tiver um servidor DB2 para AIX, especificará o nome do wrapper MSSQLODBC3.

Você pode substituir o nome do wrapper padrão por um nome de sua escolha. Entretanto, se isso acontecer, você deverá incluir o parâmetro LIBRARY e o nome da biblioteca wrapper para seu servidor federado na instrução CREATE WRAPPER. Por exemplo:

Em servidores DB2 para Windows NT:
CREATE WRAPPER wrapper_name LIBRARY 'djxmssql3.dll'

onde wrapper_name é o nome que você deseja fornecer ao wrapper e 'djxmssql3.dll' é o nome da biblioteca.

Em servidores DB2 para AIX:
CREATE WRAPPER wrapper_name LIBRARY 'libmssql3.a'

onde wrapper_name é o nome que você deseja fornecer ao wrapper e 'libdjxmssql.a' é o nome da biblioteca.

Consulte a instrução CREATE WRAPPER na publicação DB2 SQL Reference para obter mais informações sobre os nomes de bibliotecas do wrapper.

6.6.1.6 Etapa 6: Criar o servidor

Utilize a instrução CREATE SERVER para definir cada origem de dados do Microsoft SQL Server ao qual você deseja conectar-se. Por exemplo:

CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3
OPTIONS (NODE 'sqlnode', DBNAME 'database_name')

onde:

sqlserver
É o nome atribuído ao servidor do Microsoft SQL Server. Este nome deve ser único.

MSSQLSERVER
É o tipo de origem de dados para o qual você está configurando acesso.

7.0
É a versão do Microsoft SQL Server que você está acessando. O DB2 Universal Database suporta as versões 6.5 e 7.0 do Microsoft SQL Server.

DJXMSSQL3
É o nome do wrapper definido na instrução CREATE WRAPPER.

'sqlnode'
O nome DSN do sistema que faz referência à versão do Microsoft SQL Server que você está acessando. Este valor faz distinção entre letras maiúsculas e minúsculas. O DB2 Universal Database suporta as versões 6.5 e 7.0 do Microsoft SQL Server.

Embora o nome do nó (nome do DSN do Sistema) esteja especificado como uma opção na instrução CREATE SERVER, ele é requerido para as origens de dados do Microsoft SQL Server. No Windows, obtenha o DSN na guia DSN do Sistema da ferramenta Windows ODBC Data Administrator. No AIX, obtenha o DSN do arquivo .odbc.ini no diretório inicial de proprietários de instância do DB2.

Consulte DB2 SQL Reference para opções adicionais que você pode utilizar com a instrução CREATE WRAPPER.

'database_name'
É o nome do banco de dados ao qual você está se conectando.

Embora o nome do banco de dados esteja especificado como uma opção na instrução CREATE SERVER, ele é requerido para as origens de dados do Microsoft SQL Server.

6.6.1.7 Etapa 7: Criar um mapeamento do usuário

Se um ID do usuário ou uma senha no servidor federado for diferente de um ID do usuário ou senha de uma origem de dados do Microsoft SQL Server, utilize a instrução CREATE USER MAPPING para mapear o ID do usuário local para o ID do usuário e para a senha definidos na origem de dados do Microsoft SQL Server; por exemplo:

CREATE USER MAPPING FOR db2user SERVER server_name
OPTIONS (REMOTE_AUTHID 'mssqluser', REMOTE_PASSWORD 'day2night')

onde:

db2user
É o ID do usuário local que você está mapeando para um ID do usuário definido na origem de dados do Microsoft SQL Server.

server_name
É o nome do servidor definido na instrução CREATE SERVER.

'mssqluser'
É o ID de login na origem de dados do Microsoft SQL Server para o qual você está mapeando db2user. Este valor faz distinção entre letras maiúsculas e minúsculas.

'day2night'
É a senha associada ao 'mssqluser'. Este valor faz distinção entre letras maiúsculas e minúsculas.

Consulte a publicação DB2 SQL Reference para obter as opções adicionais que você pode utilizar com a instrução CREATE USER MAPPING.

6.6.1.8 Etapa 8: Criar pseudônimos para tabelas e exibições

Atribua um pseudônimo para cada exibição ou tabela localizadas em sua origem de dados do Microsoft SQL Server que você deseja acessar. Você utilizará esses pseudônimos, quando consultar a origem de dados do Microsoft SQL Server. Utilize a instrução CREATE NICKNAME para atribuir um pseudônimo. Os pseudônimos têm distinção entre maiúsculas e minúsculas. O exemplo a seguir mostra uma instrução CREATE NICKNAME:

CREATE NICKNAME mssqlsales FOR server_name.salesdata.europe

onde:

mssqlsales
É um pseudônimo único para a tabela ou a exibição do Microsoft SQL Server.

server_name.salesdata.europe
É um identificador de três partes que segue este formato:

data_source_server_name.remote_schema_name.remote_table_name

As aspas duplas são recomendadas para as partes remote_schema_name e remote_table_name do pseudônimo.

Quando você cria um pseudônimo, o DB2 tenta acessar as tabelas do catálogo de origens de dados (o Microsoft SQL Server refere-se a estas como tabelas do sistema). Isso testa a conexão à origem de dados. Se a conexão falhar, você receberá uma mensagem de erro.

Repita esta etapa para todas as tabelas e exibições do banco de dados para o qual você deseja criar pseudônimos.

Para obter mais informações sobre a instrução CREATE NICKNAME, consulte a publicação DB2 SQL Reference. Para obter mais informações sobre os pseudônimos em geral e para verificar os mapeamentos dos tipos de dados, consulte a publicação DB2 Administration Guide.

6.6.1.9 Etapa 9: Opcional: Obter rastreios do ODBC

Se você estiver tendo problemas quando acessar a origem de dados, poderá obter as informações de rastreio do ODBC para analisar e resolver esses problemas. Para garantir que o rastreio do ODBC funciona corretamente, utilize a ferramenta de rastreio fornecida pelo ODBC Data Source Administrator. Ativar o rastreio impacta o desempenho do sistema, portanto, você deve desligar o rastreio quando tiver resolvido os problemas.

6.6.2 Revendo Páginas de Código do Microsoft SQL Server (Windows NT Somente)

O Microsoft SQL Server suporta muitas opções comuns da página de códigos do NLS (National Language Support) que o UDB do DB2 suporta. As origens de dados que estão utilizando o mesmo conjunto de códigos que o DB2, não requerem conversão. A tabela 3 lista as páginas de códigos que são suportadas pelo DB2 Universal Database e Microsoft SQL Server.

Tabela 4. Opções da Página de Códigos do UDB do DB2 e do Microsoft SQL Server
Página de código Idioma suportado
1252 Conjunto de caracteres ISO
850 Multilíngüe
437 Inglês Americano
874 Tai
932 Japonês
936 Chinês (simplificado)
949 Coreano
950 Chinês (tradicional)
1250 Europa Central
1251 Cirílico
1253 Grego
1254 Turco
1255 Hebraico
1256 Árabe

Quando o servidor federado do DB2 e o Microsoft SQL Server estiverem executando diferentes páginas de códigos do NLS (National Language Support), as origens de dados do servidor Microsoft SQL devem ser configuradas para corresponderem a estes equivalentes ou o código cliente deve conseguir detectar a inconsistência e sinalizá-la como um erro ou mapear os dados utilizando sua própria semântica. Se nenhuma tabela de conversão puder ser encontrada da página de códigos de origem para a página de códigos de destino, o DB2 emitirá uma mensagem de erro. Consulte a documentação do Microsoft SQL Server, para obter mais informações.


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]