# DriverManager.getConnection() Hilfe! (MS SQL!)



## MasterLowi (26. Jul 2008)

_Hallo,

ich bin noch neu in dem Board, und ich entschuldige mich jetzt schonmal für die viell dumme Frage  

Ich habe folgendes Problem

/*Ich habe mir ein Programm geschrieben, mit dem ich auf eine MS SQL Datenbank zugreifen kann.
Beim Verbindungsaufbau muss man natürlich einige Exceptions via try&catch oder in der methode oben definieren.

Das GUI läuft perfekt, nur wenn ich eine Fehlerhafte eingabe mache (was dann natürlich eine Exception auslöst) wird das GUI einfach geschlossen.

Wie kann ich es managen, das mir die Exception im GUI in einem Textfeld ausgegeben wird, oder ein Popup kommt, und sich das GUI nicht einfach schliesst?_
*/ *ERLEDIGT!!*

Noch eine kleine weitere Frage:
Ich habe mehrere Datenbanken.

Die Verbindung zur DB erzeuge ich via:


```
dbVerbindung = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + dbip,dbuser,dbpw);
```

Jetzt stellt sich mir nur die Frage, wie ich dann eine DB auswählen kann?
Die Verbindung zum SQL Server steht, und er wählt auch eine DB aus, und zwar die erste die er findet.
Wie kann ich es in Java umsetzten, das ich eine andere DB auswählen lasse?#

Schonmal vielen Dank im Voraus!


----------



## André Uhres (27. Jul 2008)

1. Exception auffangen (catch) und Fehlermeldung ausgeben.
2. Siehe http://wiki.byte-welt.net/wiki/Datenbankverbindung_(Java)#MS_SQL_Server


----------



## MasterLowi (27. Jul 2008)

ah ok sry jungs des mit den exceptions hat sich erledigt
hatte bei einer catch methode System.exit stehen. habs überlesen

jetzt bleibt nur noch die frage offen mit der datenbank wahl

wenn ich folgenden code schreibe:


```
dbVerbindung = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + dbip ; databaseName="ACCOUNT" , dbuser , dbpw);
```

sagt er mir das die methode databaseName nicht gefunden wurde


----------



## André Uhres (27. Jul 2008)

Die Methode getConnection erwartet einen (oder drei) String. Beispiel:
Connection con = DriverManager.getConnection("jdbc:sqlserver://<server>\\<instanz>;databaseName=<datenbank>","Benutzer","Passwort");
In deinem Beispiel muss der Compiler annehmen, daß nach dem ; das Statement beendet ist:
dbVerbindung = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + dbip ;


----------



## MasterLowi (27. Jul 2008)

ja das hab ich mir auch schon gedacht, aber mein sql server ist auf localhost, also:


```
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433");
```

dann muss ich noch dbuser und dbpw angeben, also erweiter ich den code:



```
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433","Benutzer","Passwort");
```

so, jetzt will ich aber auf eine bestimmte Datenbank zugreifen.

Auf meinem SQL Datenbank server 127.0.0.1:1433 sind mehrere Datenbanken.

Wie muss ich meinen Code oben jetzt verändern, damit er noch eine bestimmte Datenbank auswählt?
z.B.: habe ich 4 Datenbanken auf meinem Server: DB "A", DB "B", DB "C" & DB "D"
wenn ich die Verbindung so wie oben geschrieben aufbaue, geht er automatisch in die DB "A" (ich schätze weil sie als 1. oben steht).
Wie kann ich ihm aber sagen, er soll bitte in DB "D" gehen?

Vielen Dank im Voraus!


----------



## André Uhres (27. Jul 2008)

Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=D","Benutzer","Passwort");


----------



## MasterLowi (27. Jul 2008)

oh man ich bin so dumm, warum bestraft mich keiner.
es geht. Vielen dank für deine mühe!
nochmal herzlichen dank!
hier wird einem wirklich geholfen!  :toll:  :toll:


----------

