Eclipse 3.2 dá erro "java.sql.SQLException ... Error es

10 respostas
W

Olá pessoal, estou usando o eclipse 3.2 em casa e não consigo conexão com o Sql Server 2000 Developer Edition.
Dá o erro abaixo. No trabalho eu consegui conexão normalmente. Aqui em casa eu acho que o problema é a porta usada no sql e o usuário.

Como eu descubro a porta usada e o usuário? Não sei achar esses dados no sql.
Eu uso autenticação do windows pra acessar o query.
Tenho o win XP Home sp2.
Está instalado também o driver “Microsoft SQL Server 2000 Driver for JDBC”

Segue tb o código em java.
Ah, eu fui no site da microsoft e baixei o Microsoft SQL Server 2000 Service Pack 4.
<http://www.microsoft.com/downloads/details.aspx?familyid=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&displaylang=pt-br>
Executei e criou em C: uma pasta SQL2KSP4 que tentei executar mas dá o erro “O nome da ocorrência especificado é inválido” que seria do Desktop Engine. Tb não sei pra que serve e se deveria ter feito isso.

Acho que falei todos os detalhes que lembrava, por favor, quem souber ajudar eu agradeço.

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver 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 Source)

at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)

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 testes.JDBCExemplo.main(JDBCExemplo.java:12)

----------------------------//-----------------------------------

package testes; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class JDBCExemplo &#123; 

public static void main&#40;String&#91;&#93; args&#41; &#123; 
try&#123; 
Class.forName&#40;"com.microsoft.jdbc.sqlserver.SQLServerDriver"&#41;; 
//aqui é localhost mesmo? Precisa porta? Com acho o usuário? 
Connection con = DriverManager.getConnection&#40;"jdbc&#58;microsoft&#58;sqlserver&#58;//localhost;DatabaseName=teste_bd ",".",""&#41;; 
System.out.println&#40;"Conectado"&#41;; 
con.close&#40;&#41;; 
&#125; catch &#40;ClassNotFoundException e&#41; &#123; 
e.printStackTrace&#40;&#41;; 
&#125; catch &#40;SQLException e&#41; &#123; 
e.printStackTrace&#40;&#41;; 
&#125; 
&#125; 
&#125;

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

10 Respostas

C

Utilize esse driver: http://jtds.sourceforge.net/

W

Carneiro, eu até baixei e acrescentei sua sugestão no eclipse, o erro continuou o mesmo. Mas na verdade acho que não é problema de driver, pois é erro de socket, ou seja, tenho que colocar a porta e usuario certo na URL de conexão, e não sei como ver no SQL qual a porta e o usuário que está sendo usado.

C

Bom dia, achei um artigo bacana que contém exemplos das String´s usadas para definir as URL´s de conexão com diversos bancos de dados.

http://www.imasters.com.br/artigo/2444/java/jdbc/

W

carlosjrcabelo, o problema não é com a string de conexão, pois como eu descrevi no tópico, tudo funcionou no trabalho, é que em casa não consigo encontrar a porta do sql e o usuário.

C

o Firewall do seu Windows/Linux não está bloqueando?

W

Não pode ser isso, o erro é: [color=“red”]java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.[/color]
O problema são os dados passados na url de conexão que tem que estar corretos, a não ser que eu esteja compleatamente equivocado.

M

“Winthorp”:
Não pode ser isso, o erro é: [color=“red”]java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.[/color]
O problema são os dados passados na url de conexão que tem que estar corretos, a não ser que eu esteja compleatamente equivocado.

seguinte, este problema pode ser que seu windows seja xp sp2 e você não instalou o sp2 ou superior. Este erro ocorreu comigo, qualquer coisa baixe o último sp que você resolve o problema.

W

marcossousa, eu uso o win xp home sp2, existe outro sp superior? Se sim, onde encontro. Não sei mais o que fazer para conseguir a conexão com o sql server.

L

Opa… sei q jah faz tempo q a pergunta foi feita mas caso alguem tenha o mesmo erro(como eu estava tendo) o meu problema era a porta bloqueada.
Dica para descobrir se a porta do servidor do bd está bloqueada…

no prompt digite

telnet <IP_OU_NOME_DA_MAQUINA> <PORTA>

se ele conectar Está liberada… caso ele mande a msg que não conseguiu se conectar é pq a porta está bloqueada…
Vlw pessoal!

M

eu me expressei mal, você tem que instalar o Service Pack do SQL Server e não do windows, porque há alguns problemas de conflitos entre a comunicação externa que o Service Pack do SQL Server resolve.

ps: Eu utilizei o SPK 3 do SQL Server 2000.

Criado 24 de novembro de 2007
Ultima resposta 13 de nov. de 2008
Respostas 10
Participantes 5