2012-04-05 10 views
0
public class Connect { 

    public static Connection getConnection(){ 
     Connection con=null; 
     String db_source="databasesource"; 
     String db_username="username"; 
     String db_password="password"; 
     if(con==null) 
     { 
      try { 
       Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); 
       con=DriverManager.getConnection("jdbc:db2:http://localhost:50000/"+db_source,db_username,db_password); 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      }   
     } 
     return con; 
    } 
} 

Ich habe db2 in meinem System installiert.JSP Verbindung mit DB2 Backend

Ich habe zwei Anwendungen erstellt eine j2se und andere jsp (die auf Tomcat 7 läuft).

Ich benutze den gleichen Code für j2se und jsp Website, aber dieser Code funktioniert nur in j2se-Anwendung, nicht in der JSP-Website. Ich weiß nicht wo das Problem ist.

Der Fehler in jsp Website ist: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver

in Zeile: Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();

ich neu gestartet habe Kater oft infact meinen pc oft neu gestartet. suchte die Google und fand den obigen Code nur ...

Meine Klasse Connect ist in Admin-Paket in der Quelle der JSP-Website, ich benutze Eclipse Indigo für EE.

Jede Hilfe von jedermann groß ...

Vielen Dank im Voraus sein wird.

EDIT : I've also added the db2jcc.jar in the projects from build path > add external jar 
+0

Wie @Tomasz und die anderen vorgeschlagen haben, prüfen Sie, dass Sie db2jcc.jar zu Ihrem Build-Pfad hinzugefügt haben. Stellen Sie sicher, dass es da ist, wie eine Instanz dieser Klasse erstellen, indem Sie sich in einer anderen Klasse und keine Fehler warf –

Antwort

0

Es scheint, dass es diese Klasse nicht finden kann. Sind Sie sicher, dass Sie alle notwendigen *.jar Dateien in Ihrer Webanwendung haben? Sie können das Verzeichnis lib Ihrer J2SE-Anwendung mit dem in Ihrer Webanwendung vergleichen.

+0

ich die JAR-Datei richtig in Build-Pfad hinzugefügt haben ... Ich bin sicher, dass es kein Problem bei der Zugabe JAR-Datei. Es gibt ein anderes Problem, das ich nicht –

+0

@ Pibloo.com verstehen: Sind Sie sicher, dass externe Jar durch Hinzufügen sie in die Anwendung kopiert werden, wenn Sie einsetzen? Ich denke, Sie sollten Ihre JAR-Datei in Ihr Projekt aufnehmen und von dort verlinken. – npinti

0

Wenn dieser Code in Ihrem J2SE funktioniert, bedeutet dies, dass Sie eine JAR-Datei irgendwo mit com.ibm.db2.jcc.DB2Driver Klasse (so genannte JDBC-Treiber) haben müssen. Diese JAR muss in Tomcat sichtbar sein. Fügen Sie es entweder in das Verzeichnis /WEB-INF/lib oder in das Verzeichnis /lib in Tomcat ein.

BTW Ihr Code benötigt eine Überprüfung: if(con==null) wird immer erfüllt, auf der anderen Seite, wenn Fehler auftritt, geben Sie null zurück - selten gewünscht. Lesen Sie auch über DataSource s Konzept in Java. Tomcat bietet diesen Service sofort an.

+0

Ich habe vergessen zu schreiben .. Ich habe die db2jcc.jar-Datei in Projekten hinzugefügt, indem ich externe JAR-Dateien im Build-Pfad hinzufüge ... –

0

Es scheint DB2Driver ist nicht in Ihrer class path. Sie können es in Ihr Arbeitsanwendungsverzeichnis einfügen oder das DB2Driver into tomcat lib directory platzieren.

0
java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver 

Es scheint, dass es diese Klasse nicht finden kann. Also, würde ich empfehlen, db2jcc.jar am physischen Speicherort zu /WEB-INF/lib Verzeichnis Ihres Projekts zu platzieren. Dann mit build path > add jar

Viele Male in der Vergangenheit habe ich ClassNotFoundException erlebt, wenn Glas nicht am physischen Standort ist. Dann sollte Tomcat neu starten.