Problemas jsp-> sql server

3 respostas
z3r00

Pessoal
Estou com problemas para conectar servlet a um banco sql server. Estou usando o seguinte codigo:

DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
Connection connection = DriverManager.getConnection(
      "jdbc:microsoft:sqlserver://143.106.86.2:1433");

E me volta o seguinte erro quando eu compilo o meu servlet

Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Dri
ver for JDBC]Error establishing socket.
        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
 
        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
        at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
        at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
        at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at Test.<init>(Test.java:17)
        at Test.main(Test.java:54)

3 Respostas

T

Veja este parâmetro:
143.106.86.2:1433

Será que o SQL Server no endereço 143.106.86.2 ( pos01.adm.fef.unicamp.br ) está atendendo corretamente na porta 1433? Pode ser que haja um firewall entre você e a tal máquina, se usar esse endereço.

É interessante porque você pode “pingar” essa máquina a partir da Internet; acho que para acesso interno (ou seja, para vocês estudantes) eles devem dar um endereço interno dessa mesma máquina que não está na Internet.

Se puder, vá até a tal máquina que tem o SQL Server e dê um comando netstat -an para ver se o SQL está “listening” na porta 1433.

Deve aparecer uma linha como:

TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING

ou então

TCP 143.106.86.2:1433 0.0.0.0:0 LISTENING

Talvez apareça uma outra coisa (por exemplo):

TCP 100.1.1.2:1433 0.0.0.0:0 LISTENING

Isso quer dizer duas coisas - uma, que o SQL não vai aceitar conexões de qualquer lugar (100.* é a rede interna); e outra, que você tem de usar o endereço correto, não o Internet.

z3r00

Ola!

Dei um netstat -an no server e nao há entradas para a porta 1433. Entretanto, EXISTE já uma base de dados em SQL Server rodando no servidor. Um sistema completo na intranet rodando normal. (so que em ASP). Seria esse o problema?!

Obrigado!
T

Pergunte ao administrador de banco de dados que toma conta dessa máquina qual foi a porta usada. Talvez ele saiba qual é a porta, ou pelo menos consiga olhar no MMC do SQL Server qual é a porta (estou sem o SQL Server aqui instalado na minha máquina, portanto não sei lhe dizer assim de bate-pronto onde é que se vê isso).

Criado 2 de maio de 2005
Ultima resposta 2 de mai. de 2005
Respostas 3
Participantes 2