# [MSSQL] Datenbankverbindung will nicht klappen...



## Chiron1991 (1. Mrz 2011)

Hallo zusammen,

ich mache gerade ein paar Experimente mit Datenbankverbindungen und möchte mich auf meinen MSSQL2003-Server verbinden.

Mein Code sieht bisher so aus:

```
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        //Eintragen!
        try {
            //JDBC_ODBC_Datenbanktreiber laden
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            System.out.println("JDBC-ODBC-Datenbanktreiber erfolgreich geladen...");
            //Verbindung zur Datenbank herstellen
            String server = "jdbc:odbc:meineIP/Datenbankname";
            String user = "dbadmin";
            String password = "12345";
            Connection connection=DriverManager.getConnection( server, user, password);
                    //hier SQL-Statements einfügen
            //Verbindung schließen
            connection.close();
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(this, "Fehler beim Laden des JDBC-ODBC-Datenbanktreibers.");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(this, "Fehler beim Verbinden zur Datenbank");
        }
    }
```

Den Datenbanktreiber lädt er anstandslos, aber danach quittiert er mir immer mit meiner Fehlermeldung "Fehler beim Verbinden zur Datenbank". Was läuft denn da falsch? Habe schon viel gegoogelt und ausprobiert, aber nichts von alledem klappt.


----------



## maki (1. Mrz 2011)

1. Du schluckst die Exceptions, so kommst du nie auf den Fehler, lass sie dir mal ausgeben.
2. Die JDBC/ODBC Bridge ist wirklich nur zum Experemenieren geeignet (falls überhaupt), MS bietet einen richtigen JDBC Treiber, oder nimm jTDS


----------



## bronks (1. Mrz 2011)

```
"jdbc:odbc:meineIP/Datenbankname"
```
Wenn Du es mit ODBC testen möchtest, dann musst Du dafür eine ODBC-DSN in der Systemsteuerung anlegen. Ich vermute mal, daß Du das nicht gemacht hast, wenn Deinen o.g. ConnectionString sehe. 

Sonst sollte der ConnectionString für ODBC so aussehen:

```
"jdbc:odbc:deinDsnName"
```

Wie maki schon geschrieben hat ist es empfehlenswert sich die Exceptions im CatchBlock ausgeben zu lassen mit

```
ex.printStackTrace();
```

Lade Dir am besten den aktuellen JDBC-Treiber von MS. Nimm das Linuxpaket und entpacke dieses. Darin findest Du den Treiber selbst und eine ausführliche, auch für Anfänger geeignete, Doku mit netten Beispielen.


----------

