Notas sobre o Release


|6.6 Acessando Origens de Dados do Sybase

| |

||Antes de incluir as origens de dados do Sybase em um servidor |federado, é preciso instalar e configurar o software Sybase Open Client no |servidor federado do DB2. Consulte os procedimentos de instalação na |documentação que é fornecida com o software do banco de dados Sybase para |obter detalhes específicos sobre como instalar o software Open Client. |Como parte da instalação, certifique-se de que os procedimentos armazenados do |catálogo Sybase sejam instalados no servidor Sybase e as bibliotecas Sybase |Open Client sejam instaladas no servidor federado DB2.

|Depois de configurar a conexão do software cliente ao servidor |Sybase, teste a conexão utilizando uma das ferramentas Sybase. Utilize |a ferramenta isql para UNIX e a ferramenta SQL Advantage para |Windows.

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

  1. |Instale o DB2 Relational Connect Versão 7.2. Consulte a |seção 6.3.3, Instalando o DB2 Relational Connect.
  2. |Incluir as origens de dados do Sybase em seu servidor federado.
  3. |Especificar as páginas de códigos do Sybase. |

|Este capítulo discute as etapas 2 e 3.

|As instruções neste capítulo aplicam-se ao Windows NT, AIX e Solaris |Operating Environment. As diferenças específicas da plataforma são |observadas onde elas ocorrem.

|6.6.1 Incluindo Origens de Dados do Sybase em um Servidor Federado

|

|Para incluir uma origem de dados do Sybase em um servidor federado, você |precisa: |

  1. |Definir as Variáveis de Ambiente e Atualizar o Registro do Perfil (Apenas |AIX e Solaris).
  2. |Ligar o DB2 ao Software Cliente do Sybase (Apenas AIX e Solaris).
  3. |Reciclar a Instância do DB2 (Apenas AIX e Solaris).
  4. |Criar e Configurar um Arquivo de Interfaces.
  5. |Criar o Wrapper.
  6. |Opcional: Definir a Variável de Ambiente DB2_DJ_COMM.
  7. |Criar o Servidor.
  8. |Opcional: Definir a Opção de Servidor CONNECTSTRING.
  9. |Criar um Mapeamento do Usuário.
  10. |Criar Pseudônimos para Tabelas e Exibições.

|Estas etapas são explicadas com detalhes nesta seção.

|6.6.1.1 Etapa 1: Definir as Variáveis de Ambiente e Atualizar o Registro do Perfil (Apenas AIX e Solaris)

|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 sobre o |software do cliente Sybase instalado no servidor federado. 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 |sqllib/cfg e defina a seguinte variável de ambiente:
    | SYBASE="<sybase home directory>"
    | 

    |onde <sybase home directory> é o diretório onde o cliente |Sybase está instalado.

  2. |Emita o comando db2set para atualizar o registro do perfil do |DB2 com suas mudanças. A sintaxe desse comando, db2set, é |dependente da estrutura do sistema do banco de dados. Essa etapa será |necessária apenas, se você estiver utilizando o arquivo |db2dj.ini em qualquer uma das seguintes estruturas do |sistema do banco de dados:

    |Se você estiver utilizando o arquivo db2dj.ini em um |sistema de banco de dados não-particionado ou se você quiser que o arquivo |db2dj.ini se aplique ao nó atual somente, emita:

    |db2set DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini

    |Se você estiver utilizando o arquivo db2dj.ini em um |sistema do banco de dados particionado e se quiser que os valores no arquivo |db2dj.ini se apliquem a todos os nós dentro dessa instância, |emita:

    |db2set -g DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini

    |Se você estiver utilizando o arquivo db2dj.ini em um |sistema do banco de dados particionado e se quiser que os valores no arquivo |db2dj.ini se aplique a um nó específico, emita:

    |db2set -i INSTANCEX  3 DB2_DJ_INI=$HOME/sqllib/cfg/node3.ini 

    |onde: |

    |INSTANCEX
    |É o nome da instância.

    |3
    |É o número do nó conforme listado no arquivo |db2nodes.cfg.

    |node3.ini
    |É a versão modificada e renomeada do arquivo |db2dj.ini. |
    |

|6.6.1.2 Etapa 2: Ligar o DB2 ao Software do Cliente Sybase (Apenas AIX e Solaris)

|

|Para permitir acesso às origens de dados do Sybase, o servidor federado do |DB2 deve ser link-edited às bibliotecas do cliente. O processo de |link-edit cria um wrapper para cada origem de dados com a qual o servidor |federado irá se comunicar. Quando você executar o script |djxlink, crie a biblioteca de wrappers. Para emitir o script |djxlink, digite:

|djxlink

|6.6.1.3 Etapa 3: Reciclar a Instância do DB2 (Apenas AIX e Solaris)

|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.

|Emita os comandos a seguir, para reciclar a instância do DB2: |

|No DB2 para servidores Windows NT:
|NET STOP instance_name
|NET START instance_name

|No DB2 para servidores AIX e Solaris:
|db2stop
|db2start
|

|6.6.1.4 Etapa 4: Criar e Configurar um Arquivo de Interfaces

|Para criar e configurar um arquivo de interfaces, você deve criar o arquivo |e torná-lo acessível. |

  1. |Use o utilitário fornecido pelo Sybase para criar um arquivo de interfaces |que inclui os dados para todos os Sybase Open Servers que você deseja |acessar. Consulte a documentação da instalação do Sybase para obter |mais informações sobre o uso desse utilitário.

    |Tipicamente, o Windows NT nomeia esse arquivo |sql.ini. Renomeie o arquivo que acabou de criar de |sql.ini para interfaces, para nomear o arquivo |universalmente através de todas as plataformas. Se você optar por não |renomear sql.ini para interfaces, será necessário |utilizar o parâmetro IFILE ou a opção CONNECTSTRING que é explicada na etapa |8.

    |Em sistemas AIX e Solaris, esse arquivo é nomeado <instance |home>/sqllib/interfaces.

  2. |Torne o arquivo de interfaces acessível para DB2. |

    |No DB2 para servidores Windows NT:
    |Coloque o arquivo no diretório %DB2PATH% da instância do |DB2.

    |No DB2 para servidores AIX e Solaris:
    |Coloque o arquivo no diretório $HOME/sqllib da instância do |DB2. Utilize o comando ln para ligar-se ao arquivo do |diretório $HOME/sqllib da instância do DB2. Por |exemplo:
    |ln -s -f /home/sybase/interfaces  /home/db2djinst1/sqllib
    |
    |

|6.6.1.5 Etapa 5: Criar o Wrapper

|Use a instrução CREATE WRAPPER para especificar o wrapper que será |utilizado para acessar as origens de dados do Sybase. Wrappers são |mecanismos que os servidores federados utilizam para comunicar-se com e |recuperar dados das origens de dados. O DB2 inclui dois wrappers para |Sybase, CTLIB e DBLIB. O exemplo a seguir mostra uma instrução CREATE |WRAPPER:

|CREATE WRAPPER CTLIB 

|onde CTLIB é o nome do wrapper padrão utilizado com o software Open Client |do Sysbase. O wrapper CTLIB pode ser utilizado em servidores Windows |NT, AIX e Solaris.

|Você pode substituir o nome do wrapper padrão por um nome de sua |escolha. Entretanto, se isso acontecer, será necessário também incluir |o parâmetro LIBRARY e o nome da biblioteca wrapper para seu servidor federado |na instrução CREATE WRAPPER. 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: Opcional: Definir a Variável de Ambiente DB2_DJ_COMM

|

|Para melhorar o desempenho quando a origem de dados do Sybase é acessada, |defina a variável de ambiente DB2_DJ_COMM. Essa variável determina se |um wrapper é carregado quando o servidor federado é inicializado. |Defina a variável de ambiente DB2_DJ_COMM para incluir a biblioteca wrapper |que corresponde ao wrapper especificado na etapa anterior; por |exemplo: |

|No DB2 para servidores AIX:
|db2set DB2_DJ_COMM='libctlib.a' 

|No DB2 para servidores Solaris:
|db2set DB2_DJ_COMM='libctlib.so' 
|

|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 de bibliotecas do wrapper. Consulte a |publicação Manual do Administrador para obter informações sobre a |variável de ambiente DB2_DJ_COMM.

|6.6.1.7 Etapa 7: Criar o Servidor

|Utilize a instrução CREATE SERVER para definir cada servidor Sybase cujas |origens de dados você deseja acessar; por exemplo:

|CREATE SERVER SYBSERVER TYPE SYBASE VERSION 12.0 WRAPPER CTLIB
|OPTIONS (NODE 'sybnode', DBNAME'sybdb')

|onde: |

|SYBSERVER
|É um nome atribuído ao servidor Sybase. Este nome deve ser |único.

|SYBASE
|É o tipo de origem de dados para o qual você está configurando |acesso. Sybase é a única origem de dados que é suportada.

|12.0
|É a versão do Sybase que você está acessando. As versões suportadas |são 10.0, 11.0, 11.1, 11.5, 11.9 e |12.0.

|CTLIB
|É o nome do wrapper especificado na instrução CREATE WRAPPER.

|'sybnode'
|É o nome do nó onde SYBSERVER reside. Obtenha o valor do |nó do arquivo de interfaces. Esse valor é sensível a maiúsculas e |minúsculas.

|Embora o nome do nó seja especificado como uma opção, ele é requerido para |as origens de dados do Sybase. Consulte a publicação DB2 SQL |Reference para obter informações sobre as opções adicionais.

|'sybdb'
|É o nome do banco de dados do Sybase que você deseja acessar. |Obtenha esse nome do servidor Sybase |

|6.6.1.8 Etapa 8: Opcional: Definir a Opção do Servidor CONNECTSTRING

|Especifique os limites de timeout, o caminho e o nome do arquivo de |interfaces e o tamanho do pacote do arquivo de interfaces. O Sybase |Open Client utiliza os limites de timeout para interromper as consultas e as |respostas que são executadas por um longo período de tempo. Você pode |definir esses limites no DB2, utilizando a opção CONNECTSTRING da instrução |CREATE SERVER OPTION DDL . Utilize a opção CONNECTSTRING para |especificar: |

|   .-;-------------------------------.
|   V                                 |
|>>---+-----------------------------+-+-------------------------><
|     +-TIMEOUT-- = --seconds-------+
|     +-LOGIN_TIMEOUT-- = --seconds-+
|     +-IFILE-- = --"string"--------+
|     +-PACKET_SIZE-- = --bytes-----+
|     '-;---------------------------'
| 
| 
|

|TIMEOUT
|Especifica o número de segundos para o DB2 Universal Database aguardar uma |resposta do Sybase Open Client para qualquer instrução SQL. O valor de |segundos é um número inteiro positivo no intervalo de inteiros do DB2 |Universal Database. O valor de timeout especificado depende de qual |wrapper você está utilizando. Os servidores Windows NT, AIX e Solaris |todos conseguem utilizar o wrapper DBLIB. O valor padrão para o |servidor DBLIB é 0. Em servidores Windows NT, AIX e Solaris, o valor |padrão para o DBLIB faz com que o DB2 Universal Database aguarde |indefinidamente uma resposta.

|LOGIN_TIMEOUT
|Especifica o número de segundos para o DB2 Universal Database aguardar uma |resposta do Sybase Open Client para o pedido de início de sessão. Os |valores padrão são os mesmos que para TIMEOUT.

|IFILE
|Especifica o caminho e o nome do arquivo de interfaces do Sybase Open |Client. O caminho que é identificado na cadeia deve ser |colocado entre aspas duplas ("). Em servidores Windows NT, o padrão é |%DB2PATH%. Em servidores AIX e Solaris, o valor padrão é |sqllib/interfaces no diretório pessoal da instância do DB2 |Universal Database.

|PACKET_SIZE
|Especifica o tamanho do pacote do arquivo de interfaces em bytes. |Se a origem de dados não suportar o tamanho do pacote especificado, a conexão |falhará. Aumentar o tamanho do pacote quando cada registro é muito |grande (por exemplo, quando inserir linhas em tabelas grandes), aumenta |significantemente o desempenho. O tamanho do byte é um valor |numérico. Consulte as publicações de referência do Sybase, para obter |mais informações. |

|Exemplos:

|Em servidores Windows NT, para definir o valor de timeout como 60 segundos |e o arquivo de interfaces como C:\etc\interfaces, |utilize:

|CREATE SERVER OPTION connectstring FOR SERVER sybase1
|SETTING 'TIMEOUT=60;LOGIN_TIMEOUT=5;IFILE="C:\etc\interfaces"'
| 

|Em servidores AIX e Solaris, defina o valor do timeout como 60 segundos e o |arquivo de interfaces como/etc/interfaces, utilize:

|CREATE SERVER OPTION connectstring FOR SERVER sybase1
|SETTING 'TIMEOUT=60;PACKET_SIZE=4096;IFILE="/etc/interfaces"'
| 

|6.6.1.9 Etapa 9: 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 da origem de dados do Sybase, utilize a instrução |CREATE USER MAPPING para mapear o ID do usuário local para o ID do usuário e a |senha definidos na origem de dados do Sybase; por exemplo:

|CREATE USER MAPPING FOR DB2USER SERVER SYBSERVER
|OPTIONS ( REMOTE_AUTHID 'sybuser', REMOTE_PASSWORD 'day2night')

|onde: |

|DB2USER
|É o ID do usuário local que você está mapeando para um ID do usuário |definido em uma origem de dados do Sybase.

|SYBSERVER
|É o nome da origem de dados do Sybase definido na instrução CREATE |SERVER.

|'sybuser'
|É o ID do usuário na origem de dados do Sybase para o qual você está |mapeando DB2USER. Este valor faz distinção entre letras |maiúsculas e minúsculas.

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

|Consulte a publicação DB2 SQL Reference para obter mais |informações sobre opções adicionais.

|6.6.1.10 Etapa 10: 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 Sybase. Você utilizará esses pseudônimos quando |consultar a origem de dados do Sybase. Os pseudônimos do Sybase têm |distinção entre maiúsculas e minúsculas. Coloque o esquema e os nomes |de tabelas entre aspas duplas ("). O exemplo a seguir mostra uma |instrução CREATE NICKNAME:

|CREATE NICKNAME SYBSALES FOR SYBSERVER."salesdata"."europe"

|onde: |

|SYBSALES
|É um pseudônimo único para a tabela ou a exibição Sybase. |
|

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

|data_source_name."remote_schema_name"."remote_table_name" |

|Repita essa etapa para cada tabela ou exibição, para a qual você deseja |criar pseudônimos. Quando você cria o pseudônimo, o DB2 utilizará a |conexão para consultar o catálogo de origens de dados. Essa consulta |testa sua conexão à origem de dados. Se a conexão não funcionar, você |receberá uma mensagem de erro.

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

|6.6.2 Especificando as Páginas de Códigos do Sybase

|

|Esta etapa é necessária apenas quando o servidor federado do DB2 e o |servidor Sybase estão executando diferentes páginas de códigos. As |origens de dados que estão utilizando o mesmo conjunto de códigos que o DB2, |não requerem conversão. A tabela a seguir fornece opções equivalentes |do Sybase para páginas de códigos do NLS (National Language Support). |As origens de dados do Sybase devem ser configuradas para corresponder a esses |equivalentes ou o código do cliente deve conseguir detectar a inconsistência e |sinalizá-la como um erro ou mapear os dados utilizando suas próprias |semânticas. 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 Sybase, para obter |mais informações.
|

|Tabela 2. Opções da Página de Códigos Sybase

Página de código Opção Sybase equivalente
850 cp850
897 sjis
819 iso_1
912 iso_2
1089 iso_6
813 iso_7
916 iso_8
920 iso_9


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