PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbank connection



xXchrissiXx
18-01-2007, 07:52
Hallo!
ich wollte fragen ob ihr mir kurz erklären könnt wie man eine Datanbank connection in Java macht? und wofür man die Treiber dazu braucht? und wo man die herbekommt. Und vielleicht was die Zeile zu bedeuten hat:

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

wieso die bei mir immer unterringelt ist...

Danke!!
mfg
christina!!

Waxolunist
18-01-2007, 10:46
Was meinst du mit unterringelt? Eine Warnung? Was sagt die denn?

Ansonsten sind DB-Connections nicht schwierig in Java.



DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:prod", "scott", "tiger");


Die erste Zeile registriert einen DB-Driver (in diesem Fall den von Oracle) im DriverManager, der diese verwaltet. Danach kannst du eine Verbindung anfordern zur DB, mit der du dann alle Statements absetzen kannst, sofern der Benutzer die nötigen Grants hat.

Forderst du eine Verbindung an, ohne einen gültigen Treiber, kannst du auch keine Verbindung aufbauen, da es ja bei jeder DB unterschiedlich ist, wie eine Verbindung aufgebaut wird.

Die JDBC-Treiber sind von jedem Hersteller eigentlich frei im Netz verfügbar. Dann gibts noch Drittanbieter für Treiber. Nicht alle Treiber unterstützen alle DB-Funktionen in vollem Umfang.

Vergiss niemals eine Connection und die empfangenen ResultSets im finally-Block zu schließen - ohne Erklärung jetzt dazu. Vergiss es einfach nicht.

Ansonsten sind zu ODBC und JDBC schon ganze Bücher geschrieben worden. Wenn du genaue Probleme hast, kein Problem, die kann man alle lösen. Aber für große Erklärungen empfehle ich dir entweder "Database Programming with JDBC and Java. (Java (O'Reilly))" oder Google.

Die nächste Stufe sind dann Connection-Pools, wobei eigentlich jeder Application-Server hier seine eigene Implementation hat. Wir verwenden in der Firma aber trotzdem noch eine vorangestellte Eigenentwicklung, da wir an einen derartigen JDBCPool besondere Erfordernisse stellen.

Hibernate ist auch erwähnenswert. (Sprengt ebenfalls Bücher).

Und als nächstes kann man erwähnen, dass Stored Procedures sicherer sind, als einfache SQL-Statements.

Aber alles nicht so wichtig, wie "CLOSE IM FINALLY".

Ich hoffe, ich konnte ein wenig helfen.

mfg, christian