Utilizando o DB2 Universal JDBC Driver Para Acessar o DB2 Para z/OS

O sistema operacional z/OS® requer que você configure o Driver DB2® Universal JDBC e o seu banco de dados para garantir a interoperabilidade. Dentro do WebSphere® Application Server, configure um objeto provedor Java™ Database Connectivity (JDBC) e um objeto de origem de dados para implementar as capacidades do driver para suas aplicações.

Antes de Começar

As versões disponíveis do Driver DB2 Universal JDBC para conectar-se com DB2 no z/OS são as seguintes:
  • O Driver DB2 Universal JDBC em DB2 UDB para z/OS Versão 8. Esta versão suporta ambos os Tipos de driver 2 e 4.
  • O Driver DB2 Universal JDBC para DB2 UDB para OS/390® e z/OS Versão 7, conforme documentado no APAR PQ80841. Esta versão suporta ambos os Tipos de driver 2 e 4.
  • O Driver DB2 Universal JDBC com o recurso z/OS Application Connectivity a DB2 for z/OS, que fornece apenas conectividade de Tipo 4. Se você instalar esta versão do driver, deve configurar um provedor de Driver DB2 Universal JDBC (XA) para acessar bancos de dados remotos DB2 .
Consulte as atualizações de serviços do DB2 para aprimoramentos disponíveis na versão que usa.
dica de migração: Se você estiver substituindo o driver DB2 por 390 e z/OS Legacy JDBC com o Driver DB2 Universal JDBC , você poderá migrar suas configurações de provedor JDBC existentes. Veja o tópico Migrando do Driver JDBC/SQLJ para OS/390 e z/OS para o Driver DB2 Universal JDBC na documentação do Information Management Software for z/OS Solutions para obter mais informações.

Procedimento

  1. Instale os arquivos de classe do driver e quaisquer arquivos nativos necessários em um diretório HFS disponível.

    Arquivos nativos são arquivos de classe que algumas versões do Driver DB2 Universal JDBC requerem para rodando no sistema operacional z/OS .

  2. Configure o driver e o banco de dados para interoperabilidade
    1. Ligar os pacotes DB2 necessários

      Qualquer aplicativo que execute instruções SQL em DB2 for z/OS, o driver Universal JDBC deve ligar primeiramente com DB2 os pacotes que representam as instruções SQL a serem executadas.

      Os detalhes específicos do utilitário de ligação e do processo de ligação são descritos pelo arquivo readme fornecido com o Driver DB2 Universal JDBC instalado. Consulte este arquivo leia-me para obter detalhes sobre como configurar e executar a ligação necessária.

      O utilitário requer o nome do servidor ou endereço IP, o número da porta e o nome do banco de dados (o local do banco de dados no z/OS) para o destino DB2. Para obter essas informações, emita um comando DB2 -DISPLAY DDF no sistema de destino DB2 . Este comando exibe o IPADDR (endereço IP), o SQL DOMAIN (nome do servidor), o número TCPPORT, e o LOCATION (nome/local do banco de dados) para a utilização como entrada no utilitário.

      Você deve executar o processo de ligação para cada destino DB2 acessado usando o Driver DB2 Universal JDBC .

    2. Configure para manipular transações duvidosas

      Execute esta configuração uma vez para cada destino DB2 for z/OS Versão 7 local que é acessado usando o suporte DB2 Universal JDBC Driver Tipo 4 XA.

      DB2 for z/OS Versão 7 não implementa suporte a Java Platform, Enterprise Edition (Java EE), portanto, o processamento XA do driver Tipo 4 usa o protocolo de confirmação de duas fases DB2 V7 e uma tabela em cada local (banco de dados) para armazenar uma lista de transações globais que estão em dúvida ou terminadas mas não confirmadas mas não confirmadas.

      Esta tabela deve ser configurada em cada local DB2 V7 que é acessado. Para fazer o set up, use o In-Doubt Utilitário, que é incluído como parte do Driver DB2 Universal JDBC instalado. O utilitário cria a Tabela SYSIBM.INDOUBT que armazena as informações sobre as Transações Globais Duvidosas. Este utilitário também liga o pacote T4XAIndbtPkg, que contém as instruções SQL para inserir e excluir a partir d a Tabela SYSIBM.INDOUBT. O pacote T4XAIndbtPkg é gravado com SQLJ.

      Este processo de instalação requer que o subsistema de destino DB2 esteja configurado com DDF ativado para conexões TCP/IP recebidas.
      1. Para ativar o DDF no destino DB2, emita o comando DB2 -START DDF sobre esse sistema.
      2. Este utilitário requer o nome do servidor ou endereço IP e o número da porta para o destino DB2 V7. Para obter essas informações, emita um comando DB2 -DISPLAY DDF no sistema de destino DB2 V7 . O IPADDR (endereço IP), o SQL DOMAIN (nome do servidor), e o número TCPPORT que pode ser utilizado como entrada ao utilitário são exibidos.

      Para encontrar informações mais detalhadas sobre o utilitário In-Doubt, consulte a publicação DB2 Universal Database for z/OS Versão 7 Application Programming Guide and Reference for JavaTM . Você pode baixá-lo a partir da seção Biblioteca das páginas web de informações do produto DB2 Universal Database for z/OS Versão 7. Nessa publicação, procure a discussão sobre o utilitário sob DB2T4XAIndoubtUtil, que é o nome oficial do utilitário In-Doubt.

      Nota: A configuração descrita anteriormente para transações em dúvida é not um requisito para os servidores DB2 FOR z/OS Versão 8 porque DB2 FOR z/OS Versão 8 nativamente suporta comandos XA sobre DRDA e gerencia o In-Doubt Global Transações internamente.
    3. Defina um db2.jcc.propertiesFile

      Um db2.jcc.propertiesFile para uso pelo processamento DB2 Universal JDBC Driver Tipo 2 sob WebSphere Application Server for z/OS pode ser criado e especificado como entrada para o driver. Este arquivo de propriedades de tempo de execução é para uso na especificação de várias opções de tempo de execução que o Driver DB2 Universal JDBC usa para conectividade Tipo 2. Estas opções são especificadas como propriedades no formato parâmetro=valor. Consulte o arquivo README embalado com o Driver DB2 Universal JDBC instalado para uma descrição detalhada de cada uma das propriedades.

      Este arquivo não é requerido; no entanto, se não for fornecido, o processamento padrão do driver universal é executado.

      Se você tiver vários subsistemas locais DB2 , você pode especificar a propriedade db2.jcc.ssid para indicar o identificador do subsistema padrão DB2 (não nome do local). Quando esta propriedade é especificada, o Driver DB2 Universal JDBC Tipo 2 conecta-se a este identificador como o nome do subsistema local. A propriedade substitui o identificador do subsistema a partir do módulo de carregamento DSNHDECP. Se você deseja que o servidor utilize o módulo de carregamento DSNHDECP para especificar o identificador do subsistema, este módulo de carregamento deve ser incluído em um conjunto de dados steplib na região servidora PROCs para cada servidor que utiliza o DB2 identificado pelo ID do subsistema. Para obter mais informações sobre o uso deste módulo de carregamento, consulte o arquivo leia-me empacotado com o driver universal.

      Apesar do db2.jcc.propertiesFile não ser requerido, se você escolher definir o arquivo, você deve especificar o nome do arquivo HFS completo como uma propriedade do Sistema JVM como a seguir:
      • db2.jcc.propertiesFile = < totalmente-qualificados-hfs-filename>
      Como as propriedades gerais do driver são normalmente específicas de um carregamento de driver, por exemplo, servidor, em vez de todos os servidores que utilizam o provedor JDBC, é melhor configurar esta propriedade JVM no nível do servidor. Para definir a propriedade db2.jcc.propertiesFile= para o nível do servidor usando o console administrativo do WebSphere Application Server for z/OS :
      1. Sob o console administrativo do WebSphere Application Server for z/OS , vá em Servidores > Servidores de Aplicativos, em seguida, clique no servidor para o qual deseja adicionar a propriedade JVM.
      2. Na página do servidor selecionado, expanda Java e Gerenciamento de Processos e clique em Definição de Processo > Servente.
      3. Na página do Servant, clique em Propriedades Adicionais, em seguida, clique em Java Virtual Machine.
      4. Na página da Máquina Virtual Java, clique em Propriedades Adicionais, em seguida, clique em Propriedades Personalizadas.
      5. Na página Propriedades Customizadas, role para baixo e clique em Novo para configurar uma nova propriedade da JVM para o servidor selecionado. O nome da propriedade é db2.jcc.propertiesFile. O valor do imóvel é o nome completo do arquivo HFS que você criou e inicializou com as propriedades do Driver DB2 Universal JDBC . O driver do Tipo 2 usas estas propriedades para o servidor selecionado
      6. Clique em OK.
      7. Clique em Salvar para salvar a nova propriedade da JVM.
  3. Defina um provedor JDBC para o Driver DB2 Universal JDBC .
    O objeto do provedor JDBC encapsula as classes de driver para implementação no WebSphere Application Server.
    1. A partir do console administrativo WebSphere Application Server for z/OS , clique em Recursos > JDBC > JDBC Providers.
    2. Selecione o escopo no qual os aplicativos podem usar o provedor JDBC . Este escopo torna-se o escopo de qualquer origem de dados que você associa a este provedor.
      É possível escolher uma célula, nó, cluster ou servidor. Para obter informações adicionais, consulte o tópico Configurações de escopo do console administrativo.
    3. Clique em Novo.
      Essa ação faz com que o assistente Criar um Novo Provedor JDBC seja ativado.
    4. Use a primeira lista suspensa para selecionar DB2 for z/OS como seu tipo de banco de dados.
    5. Selecione o provedor de Driver DB2 Universal JDBC como seu tipo de provedor JDBC na segunda lista suspensa.
    6. A partir da terceira lista drop-down, selecione o tipo de implementação necessário para seu aplicativo.
      Se seu aplicativo não precisar que as conexões suportem transações two-phase commit e você planejar usar a conectividade do tipo 4, escolha Origem de Dados do Conjunto de Conexões. Se você usar a fonte de dados da pool de conexão com conectividade do tipo 2, no entanto, o Application Server no z/OS usa o RRS para processar ambas uma-fase e transações de duas fases.
      Restrição: Não selecione Connection Pool Data Source se a sua instalação tiver o z/OS Application Connectivity para o recurso DB2 for z/OS definido como WebSphere Application Server for z/OS. Apenas a implementação XA do Driver DB2 Universal JDBC suporta este recurso.

      Escolha Origem de Dados XA, se você planejar usar o driver do tipo 4 e seu aplicativo precisar de conexões que suportem transações two-phase commit. Utilize apenas a conectividade driverType 4 para a origem de dados XA.

      Após selecionar um tipo de implementação, o assistente preenche o nome e os campos de descrição para seu provedor JDBC. É possível digitar valores diferentes para esses campos; eles existem somente para propósitos administrativos.

    7. Clique em Avançar depois de ter definido o seu tipo de banco de dados, tipo de provedor e tipo de implementação.
      Agora, você vê a página do assistente Digitar Informações do Caminho de Classe do Banco de Dados.

      Geralmente, você não precisa mudar o caminho de classe que já preenche o campo. (Aquele caminho de classe é o valor da variável de ambiente do WebSphere que é exibida nesta página, na forma de ${DATABASE_JDBC_DRIVER_PATH}.) É muito provável que você não precise mudar o caminho da biblioteca nativa ou o nome da classe de implementação da origem de dados.

    8. Clique em Avançar para ver um resumo de suas configurações do provedor JDBC .
    9. Clique em Concluir se você estiver satisfeito com a configuração do provedor JDBC inteiro.
      A página Coleta de Provedor JDBC é exibida mostrando o seu novo provedor JDBC em uma tabela juntamente com outros provedores configurados para o mesmo escopo.
  4. Defina uma origem de dados.
    WebSphere Application Server usa o objeto de origem de dados para obter conexões de banco de dados e gerenciar essas conexões.
    1. A partir do console administrativo do WebSphere Application Server for z/OS , acesse a página para a versão de origem de dados que seus aplicativos requerem.
      Se você precisar de suporte para as transações de duas fases, utilize apenas a origem de dados da última versão padrão. A origem de dados da Versão 4 não suporta conexões que participem das transações de duas fases.
      Navegue para a página apropriada de uma das seguintes duas maneiras:
      • Clique em Recursos > JDBC > Origens de Dados, ou Origens de Dados (WebSphere Application Server Versão 4).
      • Clique em Recursos > JDBC > JDBC provedores > JDBC_provider > Data sources, ou Data sources (WebSphere Application Server Versão 4).
    2. Selecione o escopo no qual os aplicativos podem usar a fonte de dados.
      É possível escolher uma célula, nó, cluster ou servidor. Para obter informações adicionais, consulte o tópico Configurações do Escopo do Console Administrativo.
      Versão 4 apenas: A partir deste ponto em diante, as etapas para criação de fontes de dados (WebSphere Application Server Versão 4) diferem das etapas para criação de fontes de dados da versão padrão mais recente. Para configurar uma origem de dados da Versão 4, conclua as etapas a seguir:
      • Clique em Novo para continuar na página de console para definir as propriedades necessárias.
      • Nesta página de propriedades, especifique os valores para os campos que estão agrupados sob o título Configuração. O Application Server requer estas propriedades para implementar suas classes de driver JDBC; consulte o tópico, Configurações Necessárias Mínimas de Origem de Dados, pelo fornecedor para aprender sobre os valores aceitos.
      • Salve a sua configuração, clicando em OK. Agora, você concluiu as principais tarefas de configuração de origem de dados.
      • Opcional: Defina propriedades adicionais que são suportadas pelo provedor DB2 Universal JDBC . O Application Server as denomina propriedades customizadas e requer que também as configure na origem de dados. Comece clicando no link Propriedades Customizadas que agora é exibido na página do console administrativo. Você pode aprender sobre propriedades de origem de dados opcionais no Application Programming Guide and Reference for Java para sua versão do DB2 for z/OS.
    3. Clique em Novo.
      Esta ação faz com que o assistente Criar uma Origem de Dados ative e exiba a página Digitar Informações Básicas da Origem de Dados.
      O primeiro campo é o campo do escopo, que é de leitura. Este campo exibe a seleção de escopo anterior.
    4. Digite um nome de origem de dados no campo Nome da Origem de Dados.
      Esse nome identifica a origem de dados somente para propósitos administrativos.
    5. Digite um nome Java Naming and Directory Interface (JNDI) no campo de nome de JNDI.
      WebSphere Application Server usa o nome de JNDI para ligar referências de recursos do aplicativo a esta fonte de dados. Para obter informações adicionais sobre JNDI, consulte o tópico Nomenclatura.
    6. Configure um alias gerenciado por um componente para garantir sua origem de dados se você planeja implementar a conectividade driverType 4 com o Driver DB2 Universal JDBC .
      Se planeja usar a conectividade driverType 2, você não deve configurar um alias. Neste caso, o gerenciador de conexão utiliza um alias de autenticação padrão, que é a identidade do usuário de um encadeamento quando este encadeamento entregar um pedido getConnection.

      Um alias gerenciado por componente consiste em um ID e uma senha que são especificados em um aplicativo para autenticação da origem de dados. Portanto, o alias configurado na origem de dados deve ser idêntico ao alias do código do aplicativo. Para obter mais informações sobre a segurança Java 2 Connector (J2C), consulte o tópico, Gerenciando entradas de dados de autenticação Java 2 Connector Architecture.

      Para configurar um alias gerenciado por componente, selecione um alias existente ou crie um novo.

      • Utilize a lista suspensa para selecionar um alias de autenticação gerenciado por componente existente.
      • Para criar um alias, clique no link criar um novo. Esta ação fecha o assistente de origem de dados e aciona o console administrativo para exibir a página Coleta de Dados de Autenticação J2C. Clique em Novo para definir um novo alias. Clique em OK para salvar suas configurações e visualizar o novo alias na página Coleta de Dados de Autenticação J2C. Reinicie o assistente de origem de dados navegando de volta à pagina de coleta de origem de dados, selecionando o escopo apropriado e clicando em Novo.
    7. Clique em Avançar para ver a página do assistente Selecione o provedor JDBC .
    8. Selecione um provedor JDBC existente ou crie um provedor.
      Para selecionar um provedor JDBC existente:
      1. Clique em Selecionar um provedor JDBC existente.
      2. Selecione um driver JDBC na lista drop-down.
      3. Clique em Avançar. Agora, você vê a página intitulada Inserir propriedades específicas do banco de dados para a origem de dados.
      Para criar um provedor JDBC:
      1. Clique em Criar Novo Provedor JDBC.
      2. Clique em Avançar para ver a página Criar Provedor JDBC.
      3. Use a primeira lista suspensa para selecionar DB2 for z/OS como seu tipo de banco de dados.
      4. Selecione o provedor de Driver DB2 Universal JDBC como seu tipo de provedor JDBC na segunda lista suspensa.
      5. A partir da terceira lista drop-down, selecione o tipo de implementação necessário para seu aplicativo.
        Se seu aplicativo não precisar que as conexões suportem transações de consolidação em duas fases, escolha Origem de Dados do Conjunto de Conexões. Ambas as implementações de conectividade driverType 2 e driverType 4 das fontes de dados do pool de conexão de suporte do DB2 Universal JDBC Driver.
        Restrição: Não selecione este provedor se a sua instalação tiver o recurso z/OS Application Connectivity para DB2 for z/OS definido como WebSphere Application Server for z/OS. Apenas a implementação XA do Driver DB2 Universal JDBC suporta este recurso.

        Escolha Origem de dados XA se seu aplicativo precisar de conexões que suportam transações two-phase commit. Os aplicativos que utilizam esta configuração de origem de dados têm o benefício de recuperação de transação gerenciada por contêiner. Utilize apenas a conectividade driverType 4 para a implementação XA.

        Após selecionar um tipo de implementação, o assistente preenche o nome e os campos de descrição para seu provedor JDBC. É possível digitar valores diferentes para esses campos; eles existem somente para propósitos administrativos.

      6. Clique em Avançar após ter definido seu tipo de banco de dados, tipo de provedor e tipo de implementação. Agora, você vê a página do assistente Digitar Informações do Caminho de Classe do Banco de Dados.

        Geralmente, você não precisa mudar o caminho de classe que já preenche o campo. (Aquele caminho de classe é o valor da variável de ambiente do WebSphere que é exibida nesta página, na forma de ${DATABASE_JDBC_DRIVER_PATH}.) É muito provável que você não precise mudar o caminho da biblioteca nativa ou o nome da classe de implementação da origem de dados.

      7. Clique em Avançar. Agora, você vê a página intitulada Inserir propriedades específicas do banco de dados para a origem de dados.
    9. Clique em Usar esta fonte de dados em persistência gerenciada por container (CMP) se o Feijão de persistência gerenciada por container (CMP) deve acessar esta fonte de dados.
    10. Especifique todas as propriedades restantes, já que elas são necessárias para implementação do Driver DB2 Universal JDBC .
      Estas propriedades incluem:
      • Nome do banco de dados, que é o nome do local do banco de dados de destino utilizado ao estabelecer conexões com esta origem de dados
      • driverType, qual é o tipo de conectividade JDBC utilizado pela origem de dados
      • Nome do servidor, que é o endereço TCP/IP ou nome do host para o servidor Distributed Relational Database Architecture™ (DRDA).

        Essa propriedade é necessária somente se o driverType estiver configurado para 4. Essa propriedade não é usada se driverType estiver configurado para 2.

      • Número da porta, que é o número da porta TCP/IP onde reside o servidor DRDA.

        Forneça um valor para esta propriedade apenas se driverType for configurado para 4. Não configure esta propriedade se driverType for configurado para 2.

    11. Clique em Concluir para salvar a configuração e sair do assistente.
      A página Coleta de Origem de Dados é exibida, mostrando sua nova configuração em uma tabela, juntamente com outras origens de dados configuradas para o mesmo escopo.

O Que Fazer Depois

É possível substituir os valores padrão para algumas propriedades da origem de dados. Clique no novo link da origem de dados na tabela para visualizar a página de configuração geral para obter as propriedades da origem de dados necessária. Você também pode definir propriedades adicionais que são suportadas pelo Driver DB2 Universal JDBC . O Application Server requer que você as configure como propriedades customizadas na origem de dados. Conheça as propriedades de origem de dados opcionais no Guia de Programação de Aplicativos e Referência para Java para a sua versão do DB2 for z/OS.

Se você tiver vários subsistemas locais DB2 , você pode especificar um identificador de subsistema DB2 (não nome de localização) na propriedade customizada ssid em sua origem de dados. Quando esta propriedade customizada é especificada, a origem de dados se conecta a este identificador como o nome do subsistema local. A propriedade customizada ssid substitui tanto a propriedade db2.jcc.ssid no db2.jcc.propertiesFile quanto o identificador do subsistema do módulo de carregamento DSNHDECP.