JDBC x SQL Server 2000 x WinXP SP(Não conecta nem a pau)!

13 respostas
R

Ola galera estou com um problema desde que instalei o SP2 do Windows XP nao consigo fazer conectar com o SQl Server 2000 vejam o codigo e o erro:

import java.sql.*;

public class Teste {

	public static void main(String agr[]){
		
		try{
			Class.forName("net.sourceforge.jtds.jdbc.Driver");
			String url = "jdbc:jtds:sqlserver://localhost:1433";
			Connection con = DriverManager.getConnection(url,"sa","");
			if( con != null){
				System.out.println("Conectado como: sa");
			}
				
		}
		catch(SQLException ex){
			ex.printStackTrace();
			ex.getMessage();
			//System.out.println("Erro ao conectar com banco!!!");
		}
		catch(Exception ex){
			//ex.printStackTrace();
			System.out.println("Excecao qualquer!!!");
		}
		
	}
	
}

Erro:

java.sql.SQLException: Network error IOException: Connection refused: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:307)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:145)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Teste.main(Teste.java:10)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:225)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:257)
... 5 more

13 Respostas

_fs

Tem certeza que a porta continua 1433?

T
[quote=rafaelmeireles]instalei o SP2 do Windows XP



String url = jdbc:jtds:sqlserver://localhost:1433;

Connection con = DriverManager.getConnection(url,sa,"");

[/code]

“Connection refused” quer dizer uma de duas coisas:

  • Ou o SQL Server nem conseguiu mais ficar em listen na porta 1433 (use
    netstat -an | findstr 1433
    e veja se aparece algo como
    TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING
    Se não aparecer 0.0.0.0:1433 mas sim 123.45.67.89:1433 onde 123.45.67.89 é o endereço IP da sua própria máquina, tente mudar a URL para acessar com o IP da sua máquina, em vez de “localhost”.

Outra coisa que o SQL Server deve ter reclamado, mas antes mesmo de você instalar o SP2, é o fato de você ter um usuário sa com senha vazia. O SQL Server não gosta muito desse usuário com essa senha super-segura…

R

Coloquei o endereco ip ao inves de localhost, e coloquei senha mas da o mesmo erro.

Luca

Olá

Depois de instalado o SP2, cada aplicação que solicita uma determinada porta precisa ser autiorizada explicitamente. Não tenho aqui o SP2 mas em casa precisei fazer isto com algumas aplicações. Deve ter um iconezinho novo aí em baixo a direita. Clica nele que aparece a tela do firewall.

[]s
Luca

F

Caro thingol,

Estou exatamente com o mesmo problema do Rafael: não consigo conectar como servidor SQL. Já verifiquei em diversos fóruns e ainda não achei a chave do meu problema.

Olhando uma das suas respostas, executei o comando netstat -an | findstr 1433, mas nada foi listado. Será este o meu problema? Se sim, como faço para resolvê-lo?

Desde já, agradeço.

F

Caro thingol,

Para aparecer o 0.0.0.0:1433 LISTENING foi necessário eu rodar o SP4 do SQL Server. Depois de feito isto, o erro gerado é o seguinte:

Error occured while trying to connect to the database

Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
Charset 0x0904F0002C/Cp850 is not supported by the JVM.

be.ibridge.kettle.core.exception.KettleDatabaseException:
Error occured while trying to connect to the database

Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
Charset 0x0904F0002C/Cp850 is not supported by the JVM.

at be.ibridge.kettle.core.database.Database.connect(Database.java:177)
at be.ibridge.kettle.core.dialog.DatabaseDialog.test(DatabaseDialog.java:1147)
at be.ibridge.kettle.core.dialog.DatabaseDialog.test(DatabaseDialog.java:1126)
at be.ibridge.kettle.core.dialog.DatabaseDialog$4.handleEvent(DatabaseDialog.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at be.ibridge.kettle.core.dialog.DatabaseDialog.open(DatabaseDialog.java:291)
at be.ibridge.kettle.repository.dialog.RepositoryDialog$1.widgetSelected(RepositoryDialog.java:174)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at be.ibridge.kettle.repository.dialog.RepositoryDialog.open(RepositoryDialog.java:291)
at be.ibridge.kettle.repository.dialog.RepositoriesDialog$3.widgetSelected(RepositoriesDialog.java:297)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at be.ibridge.kettle.repository.dialog.RepositoriesDialog.open(RepositoriesDialog.java:405)
at be.ibridge.kettle.chef.Chef.main(Chef.java:3134)

Caused by: be.ibridge.kettle.core.exception.KettleDatabaseException:
Error connecting to database: (using class net.sourceforge.jtds.jdbc.Driver)
Charset 0x0904F0002C/Cp850 is not supported by the JVM.

at be.ibridge.kettle.core.database.Database.connect(Database.java:237)
at be.ibridge.kettle.core.database.Database.connect(Database.java:167)
... 23 more
Caused by: java.sql.SQLException: Charset 0x0904F0002C/Cp850 is not supported by the JVM.

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.loadCharset(ConnectionJDBC2.java:1230)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.setCollation(ConnectionJDBC2.java:1310)

at net.sourceforge.jtds.jdbc.TdsCore.tdsEnvChangeToken(TdsCore.java:3180)

at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2248)

at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:606)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:331)

at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)

at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at be.ibridge.kettle.core.database.Database.connect(Database.java:218)

 24 more

[color=red][/color]

O que diabo é isso agora?

Luca

Olá

Você está usando o driver jTDS que é o mais recomendado ou usa aquela porcaria bugenta que se pode baixar do site da Microsoft?

[]s
Luca

F

Caro Luca,

Estou usando o jTDS.

plentz

Movido pra Java avancado pra não ficar muito perdido lá no meio dos off-topic :wink:

tiagosilveira

Opa pessoal blz…

Pra resolver essa então…
Atualizem o SQL Server 2000 de vocês com o sp4 que pode se baixando diretamente do site da MS… Ta ai o link

http://www.microsoft.com/downloads/details.aspx?displaylang=pt-br&FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5

Vlws
:wink:

Weber_Kondo

Fala povo!
Esse tópico é antigo, mas estou me deparando com o mesmo problema.
Alguém conseguiu encontrar uma solução?

Detalhe, no servidor de produção consigo conectar normalmente, já no “localhost” sem chance!

ou seja, aparentemente o problema não é do driver, mas como pode conseguir acessar uma instância remota e não conseguir acessar local!?
onde será que estou vacilando…

Valeu!

M

Olá…

Usei o MSDE e agora o SqlExpress…mas a url mudou entre um e outro…
Tenta: url=“jdbc:sqlserver://IP_ou_Nome;instanceName=SQLEXPRESS;port=1433;DatabaseName=xxx”

Outra coisa… o firewall do windows pode estar bloqueando… desabilita!

Valeu
t+

sniper07

Olha a porta que o sql está trabalhando e altere este parâmetro.

Criado 29 de outubro de 2004
Ultima resposta 29 de ago. de 2011
Respostas 13
Participantes 10