por: Luiz Gustavo Stábile de Souza
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:
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:
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:
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:
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:
Após a configuração e confirmação, você poderá realizar o teste da conexão do datasource:
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
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:
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.
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:
Na próxima tela apesentada, confirme clicando em Salvar:
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”.
Na próxima tela, informe o caminho até o driver JDBC:
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:
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:
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):
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:
Na tela que se abre, cadastre duas propriedades, conforme a imagem a seguir:
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:
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






























































