Java/Tomcat und Oracle 10g-Verbindung
Ich bin neu in java und Oracle-Verbindung ich kann keine Verbindung von java/tomcat-Dienst in Oracle-Datenbanken.
Ich bin Java JDK 1.7 und Oracle, Version:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
Fügte ich eine CLASSPATH-Umgebungsvariablen (Windows Server 2003)
C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\*
Ich habe auch das JAVA-bin zu PATH und JAVA_HOME (wird durch TOMCAT)
In diesem Ordner gibt es nur zwei Dateien: ojdbc14.jar
und ojdbc14_g.jar
Mein java-Code:
import java.sql.*;
....
....
try
{
System.out.println("0");
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("1");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@//127.0.0.1:1521/xe",
"username", "password");
System.out.println("2");
}
catch (Exception e)
{
//e.printStackTrace();
System.out.println("exc");
}
Ausgang: (Es scheint, dass er eine Ausnahme auf Class.forName
0
exc
- Und was Ausnahme könnte das sein? Ich vermute, dass ein
ClassNotFoundException
, hab ich Recht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tomcat und Java EE app-Server, vollständig ignorieren Sie Ihre CLASSPATH-Umgebungsvariable. Gleiche für IDEs. Ich habe nicht auf jede Maschine, die ich benutze.
Sollten Sie nicht verändern, keine Skripte, um dies zu tun, entweder.
Jedem Java EE app-server hat eine Hierarchie von class Loadern.
Den ersten zu laufen, ist der bootstrap-class-loader.
Weiter ist der server class-loader. Der richtige Ort für diese Gläser ist der Tomcat-server /lib-Verzeichnis. Das /lib-Verzeichnis enthält alle Gläser, die in allen Implementierungen. Sie sind geladen, bevor die war-Dateien auf Start.
Es ist ein Klasse Lader für jede war-Datei bereitgestellt. Nachdem der server class-loader läuft, Tomcat behandelt alle Gläser, die Sie in das WEB-INF/lib und alle .class-Dateien, die Sie unter WEB-INF/classes als Ihr Projekt CLASSPATH.
Sobald Sie bekommen, dass die Arbeit, die nächste Sache ist, um Informationen zur Verwendung von JNDI-lookups. Der code, den Sie geschrieben, ist keine gute Idee. Lassen Sie Tomcat verwalten einen connection pool für Sie.
Müssen Sie den classpath wie folgt:
den classpath muss wissen, das Glas zu verwenden, das ist die Produktion-Treiber und die mit dem _g ist für debugging-Zwecke. Platzhalter funktioniert nicht für die Einstellung der java-classpath. Die Notwendigkeit vermeiden, die das konfigurieren des classpath können Sie einfach kopieren Sie die ojdbc14.jar der
$tomcat.home/lib
Verzeichnis.Einfach ausdrucken
e.printStackTrace();
und siehe Wetter-Ausnahme auftreten,...wenn es in
Class.forName()
dann bedeutet das class-path ist nicht richtig gesetzt...jede Sache, die Naht in Ordnung.. nur schauen..in die Klasse Pfad
Driver name ist worng.
Muss es oracle.jdbc.OracleDriver anstelle von dem, was Sie mit oracle.jdbc.- Treiber.OracleDriver.
Müssen Sie den ojdbc14.jar Datei in Ihrer Bereitstellung, Montage in Ihrem Projekt. Mit eclipse :