Configurando um Datasource para o Microsoft SQL Server 2005 no WebSphere 6.1

por: Luiz Gustavo Stábile de Souza

versão PDF

Este tutorial tem o objetivo de ajudar na configuração de um datasource (origem de dados) para o SQL Server 2005 no WebSphere 6.1.
A idéia de criar este tutorial surgiu de uma necessidade pessoal, de encontrar um passo-a-passo na internet, que fosse específico para esta versão do banco no WebSphere 6.1.
Para a elaboração deste tutorial, usei uma versão trial do servidor, que pode ser encontrada no site da IBM, que consta das referências no final do artigo.
Ao longo do artigo, os termos datasource e origem de dados serão usados para indicar a mesma coisa.

Configurando as credenciais de usuário para a conexão com banco através da JNDI

O WebSphere armazena todas as informações de usuário e senha de forma centralizada e faz isso em uma área diferente do console administrativo. Uma vez que a conexão JNDI requer um nome de usuário e senha, teremos que configurá-los antecipadamente.
A partir do menu esquerdo, selecione a opção Segurança > Administração, Aplicativos e Infra-estrutura Seguros.
Na tela que aparece, expanda o item Java Authentication and Authorization Service à direita, e selecione o item Dados de autenticação J2C:

Dados de autenticação J2C

Dados de autenticação J2C

A próxima tela apresenta a lista de identidades já cadastradas. Selecione a opção para incluir uma nova identidade, e após o cadastro clique em Salvar, para confirmar a operação:

Tela de cadastro de identidades

Tela de cadastro de identidades

Configurando um Provedor JDBC

No WebSphere é preciso configurar um provedor para um driver JDBC que pretendemos usar para um datasource. Segundo a IBM: “O objeto provedor JDBC encapsula a classe de implementação específica do driver JDBC para o datasource definido, e o associa ao provedor.”
Para configurar o provedor JDBC, escolha o item Recursos no menu à esquerda do painel administrativo, e então o item Provedores de JDBC.
Na tela apresentada, escolha o escopo adequado para a criação do recurso, no combo box apresentado, e escolha a opção para cadastrar um novo provedor JDBC.
Você pode cadastrar um provedor JDBC para o driver já oferecido pelo servidor por padrão. Para isso escolha na lista de tipo de provedor a opção WebSphere embedded ConnectJDBC:

Cadastro de provedor JDBC

Cadastro de provedor JDBC

Resumo dos dados do provedor JDBC cadastrado

Resumo dos dados do provedor JDBC cadastrado

Criando o Datasource

Agora, voltando à lista de provedores JDBC, selecione o provedor que acabamos de configurar, clicando sobre o mesmo. Na tela que aparece selecione o link Origem de Dados, à direita. Na tela que aparece em seguida, escolha a opção para cadastrar um novo datasource. A tela de cadastro aparece parcialmente preenchida, com os dados do provedor de conexão:

Tela de cadastro do datasource (origem de dados)

Tela de cadastro do datasource (origem de dados)

Preencha o campo de nome JNDI e escolha o alias de autenticação a ser usado, de acordo com o que foi cadastrado anteriormente.

Na próxima tela serão solicitadas informações adicionais para a configuração do datasource:

Dados adicionais para o datasource

Dados adicionais para o datasource

Após a configuração e confirmação, você poderá realizar o teste da conexão do datasource:

Teste do datasource criado executado com sucesso

Teste do datasource criado executado com sucesso

Instâncias Nomeadas do SQL Server

O Microsoft SQL Server suporta múltiplas instâncias de um banco de dados executando em um mesmo servidor. Uma instância é identificada por um nome de instância.
Para se conectar a uma instância nomeada utilizando uma URL de conexão, use o seguinte formato de URL:

jdbc:sqlserver://server_name\\instance_name

Observação: a primeira barra invertida (\) em \\instance_name é um caractere de escape.

onde:

server_name é o endereço ip ou hostname do servidor.
instance_name é o nome da instância com a qual se deseja uma conexão no servidor.

Seguindo este padrão de nomenclatura, caso quiséssemos uma conexão com uma instância chamada  openserver2005 em um servidor chamado openserver, a URL de conexão seria a seguinte:

jdbc:sqlserver://openserver\\openserver2005

Para o caso da configuração de um datasource para um banco cuja instância é nomeada, colocaríamos o seguinte, na identificação do servidor:


openserver\openserver2005

Configuração para uma instância nomeada do banco de dados

Configuração para uma instância nomeada do banco de dados

Configurando um Driver JDBC alternativo

Muitas vezes, o driver JDBC fornecido por padrão pelo servidor de aplicações pode não ser adequado, sendo necessário utilizar uma outra versão, baixada à parte.
O download do driver JDBC para o SQL Server 2005 pode ser feito a partir da página de downloads da Microsoft, que consta nas referências no final do artigo.
Tendo o driver do SQL Server em mãos, acesse o console administrativo.
No meu esquerdo do console administrativo, escolha a opção Ambiente > Variáveis do WebSphere:

sqlserver_was_img9

Ao escolher esta opção, um painel se abrirá, onde é possível visualizar as variáveis de ambiente do WebSphere. Dentre as variáveis encontradas neste painel, procure pela variável WAS_INSTALL_ROOT . O valor dela indicará um diretório, no qual existe um diretório lib, e dentro deste um diretório chamado ext. É para este diretório (ext) que deverá ser copiado o driver JDBC do SQL Server.

Variáveis de ambiente do WebSphere

Variáveis de ambiente do WebSphere

No mesmo painel, crie uma variável de ambiente, digamos MSSQLSERVER2005_JDBC_DRIVER_PATH, para apontar para o diretório onde estará o driver JDBC do SQL Server:

Criação de variável de ambiente

Criação de variável de ambiente

Na próxima tela apesentada, confirme clicando em Salvar:

sqlserver_was_img12

Criando o Provedor JDBC

Agora precisamos criar um provedor JDBC para o driver JDBC alternativo.
No menu do console administrativo selecione Recursos > JDBC > Provedores de JDBC. Selecione a opção para cadastrar um novo provedor.
No campo Tipo do Banco de Dados informe “Definido pelo usuário”. Em Nome da Classe de Implementação informe o nome da classe que implementa o datasource,  fornecido pelo driver. No caso do driver que estou usando essa classe é “com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource”.

Criação de um provedor JDBC para o driver alternativo

Criação de um provedor JDBC para o driver alternativo

Na próxima tela, informe o caminho até o driver JDBC:

Configuração do caminho para o driver alternativo

Configuração do caminho para o driver alternativo

Após confirmar as configurações, salve as alterações realizadas.

Criando o datasource para o Driver JDBC alternativo

Agora, voltando à lista de provedores JDBC, selecione o provedor que acabamos de configurar, clicando sobre o mesmo. Na tela que aparece, caso necessário, modifique as informações do driver jdbc, como o nome do arquivo .jar ou a classe de implementação:

Propriedades do provedor JDBC

Propriedades do provedor JDBC

Depois das devidas alterações feitas (caso necessário), selecione o link Origem de Dados, à direita. Na tela que aparece, escolha a opção para cadastrar uma nova origem de dados. A tela de cadastro aparece parcialmente preenchida, com os dados do provedor de conexão:

Tela de cadastro do datasource (origem de dados)

Tela de cadastro do datasource (origem de dados)

Preencha o campo de nome da origem de dados, de nome JNDI e escolha o alias de autenticação a ser usado, de acordo com o que foi cadastrado anteriormente.
Na próxima tela, no campo Nome da Classe Auxiliar do Data Store  informe “com.ibm.websphere.rsadapter.GenericDataStoreHelper” (padrão):

Informações do banco de dados para o datasource

Informações do banco de dados para o datasource

Ainda precisamos configurar o nome do banco de dados e o nome do servidor. Na tela de propriedades do datasource, clique na opção Propriedades Personalizadas, localizada à direita:

Propriedades do datasource

Propriedades do datasource

Na tela que se abre, cadastre duas propriedades, conforme a imagem a seguir:

Propriedades adicionais para o datasource (referentes ao banco de dados)

Propriedades adicionais para o datasource (referentes ao banco de dados)

O número da porta é opcional, portanto não o configurei. Para ser mais exato, ao tentar configurar o número da porta, obtive um erro, que informava não ser possível encontrar a versão correta do servidor:

Erro ao testar o datasource quando se informa o número da porta

Erro ao testar o datasource quando se informa o número da porta

Mas ao remover a propriedade, o teste de conexão do datasource funcionou normalmente, com apenas um aviso no log do servidor:

[19/08/09 16:25:30:375 BRT] 0000002e DSConfigurati W   DSRA0174W: Aviso: GenericDataStoreHelper está sendo utilizado.

É isso! Espero que este tutorial seja útil para quem precisa executar esta tarefa, muitas vezes tediosa.

Referências

Named Instances
http://e-docs.bea.com/wls/docs81/jdbc_drivers/mssqlserver.html#1074583

Trial: IBM WebSphere Application Server
http://www.ibm.com/developerworks/downloads/ws/was/

Microsoft SQL Server JDBC Driver
http://msdn.microsoft.com/en-us/data/aa937724.aspx

Setting up a JNDI data source in WebSphere 6.0/6.1
http://www.enavigo.com/2007/05/14/setting-up-a-jndi-data-source-in-websphere-6061/

SQL SERVER 2005 Support in Websphere Application Server V6.0.1:
http://www.theserverside.com/discussions/thread.tss?thread_id=41808

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s