# Probleme beim Verbindungsaufbau zum SQL 2000



## Tokka (29. Mai 2006)

Hallo zusammen!

Ich versuche nun schon seit Stunden eine Verbindung via JDBC zum MS-SQL 2000 aufzubauen, leider ohne Erfolg.

Zunächst mal die Rahmenbedingung: JDBC Treiber von MS, SQL 2000 (ohne SP!!!)

Folgenden Code habe ich geschrieben:


```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {

	public static void main(String[] args) {

		final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
		final String PROTOCOL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Renta";
		final String USER = "user";
		final String PASS = "geheim";

		try {
			Class.forName(DRIVER);
		} catch (ClassNotFoundException e) {
			System.err.println("Keine Treiber-Klasse!");
			return;
		}
		Connection con = null;

		try {
			con = DriverManager.getConnection(PROTOCOL, USER, PASS);
			getData(con);
		} catch (SQLException e) {
			e.printStackTrace();
			System.err.println("Fehler im Verbindungsaufbau!");
			return;
		}
	}

	private static void getData(Connection con) throws SQLException {
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT * FROM Name");
		while (rs.next())
			System.out.println(rs.getString("id") + " " + rs.getString("Name"));
		rs.close();
	}
}
```

Beim Ausführen bekomme ich beim Verbindungsaufbau folgenden Fehler:


```
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 Main.main(Main.java:32)
Fehler im Verbindungsaufbau!
```

Da mich die Lösungsvorschläge aus der Suche nicht weitergebracht haben, 
hoffe ich, das jemand ein Tip für mich hat, wie ich dieses Problem lösen kann.


Gruß Tokka


----------



## Caffè Latte (29. Mai 2006)

Hi,

drei Möglichkeiten:

- der SQL Server läuft nicht
- der Server nimmt keine TCP/IP Verbindungen an
- die liebe Firewall

Was tun:
 - starte das SQL Server Network Utility (svrnetcn.exe)
- im Reiter "Allgemein" wähle die Instanz aus
- stelle sicher, dass dort TCP/IP bei den Protokollen gelistet ist
- überprüf den Port unter Eigenschaften von TCP/IP

Der Server hört nicht auf einen lokalen Socket, wenn nur TCP/IP ausgewählt ist. Ohne SP musst du dann die Registry bearbeiten: bei 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[InstanceName]\MSSQLServer\SuperSocketNetLib\Tcp\TcpPort

und 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\TCP\TcpPort

den gewünschten Port oder 0 (Null) eintragen.

Hoffe es hilft,

Caffè Latte


----------



## Tokka (29. Mai 2006)

Hi!

mit dem Einspielen von SP4 hat sich scheinbar das Problem gelöst!!

Danke für Hinweise!!

Gruß
Tokka


----------

