SQL Server Express 2005 com JDBC
28 Abr 2008
Conectar o SQL Server Express 2005 (SQLSE) com JDBC parece ser uma tarefa impossível, mas apenas parece. Com algumas configurações podemos conseguir a tal façanha.
Obtendo o driver de conexão
Para o driver temos duas opções:
1. Utilizar o driver JDBC opensource JTDS;
2. ou utilizar o driver JDBC da Microsoft.
TCP/IP para o SQL Server Express
Por padrão, TCP/IP no SQLSE é desabilitado, portanto o JDBC não poderá conectar e você verá a seguinte excessão:
Network error IOException: Connection refused: connect
Ativando TCP/IP
Para ativar, inicie o SQL Server Configuration Manager, vá até a pasta Configuração de Rede do SQL Server 2005, abra o item Protocolos para SQLEXPRESS. No painel da direita clique com o botão direito em TCP/IP e clique em habilitar.
Configurando a porta TCP/IP
Após habilitar o TCP/IP, você deverá procurar qual o número da porta que está sendo usado. Só temos um problema aqui: o SQLSE aloca porta dinamicamente para cada início de sua instância. Para resolvermos isso, vamos continuar a configurar o TCP/IP pelo SQL Server Configuration Manager.
Clique com o botão direito sobre o TCP/IP e clique em propriedades, a seguir vá até a aba Endereços IP. Aqui você poderá configurar diversos ips e portas de acesso ao SQLSE, mas no nosso exemplo utilizaremos o IPALL (último da lista) atribuindo o valor 1443 para a propriedade Porta TCP. Clique em OK e reinicie o SQLSE.
Modo de Autenticação
Por padrão o SQLSE usa o modo Windows Authentication para autenticar conexões.
Precisamos configurar o SQLSE para aceitar o modo SQL Server Authentication Mode.
Inicie o Microsoft SQL Server Management Studio Express (SSMSE) e conecte com o modo Windows Authentication. No painel Object Explorer, clique com o botão direito sobre a instância e vá até propriedades. Selecione Security, em Server Authentication habilite SQL Server and Windows Authentication mode, OK, feche a janela. Ainda no painel Object Explorer, abra Security, Logins e clique com botão direito em ‘sa’ e vá até propriedades. Selecione Status e em Login clique em Enabled, selecione General e informe uma senha, OK.
Finalizando
Agora é só configurar a string de conexão do seu driver.
JDBC Microsoft
jdbc:sqlserver:://seu_ip:1433;databaseName=sua_base;user=username;password=password
JDBC JTDS
jdbc:jtds:sqlserver://seu_ip:1433/sua_base