2012-07-06 146 views
0

我正在通過eclipse IDE開發一個動態Web應用程序並使用Tomcat 7.0來部署war文件。我試圖通過傳遞url,username和password參數getConnection()來通過方法連接到數據庫。在Tomcat中找不到適合jdbc錯誤的驅動程序

我已將db2jcc罐放在tomcat lib文件夾中。我得到的SQL例外如

No suitable driver found for jdbc:DB2://localhost:50000/InstanceName 

在eclipse服務器控制檯。有關如何解決此問題的任何建議。

protected Statement dynamiCreateDBStatement(String url, String DB_Uname,String DBPWD,String DB_Type) 
{ 
    try { 
     System.out.println(url+"uname="+DB_Uname+"pwd="+DBPWD); 
     if(DB_Type.equals("") || DB_Type.equals("null") == false) 
     { 
      if(DB_Type.equalsIgnoreCase("DB2")) 
      { 
       Class.forName("com.ibm.db2.jcc.DB2Driver"); 
      } 
      if(DB_Type.equalsIgnoreCase("oracle")) 
      { 
       Class.forName("oracle.jdbc.OracleDriver"); 
      } 
     } 
     String type="javax.sql.DataSource"; 

     connection1 = DriverManager.getConnection(url, DB_Uname, DBPWD); 
     stmt1 = connection1.createStatement(); 
     connection1.close(); 
     System.out.println("close conn to db=="+connection1.isClosed()); 
     return stmt1; 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     System.out.println("sql ="+e.getMessage()); 
     return null; 
    } catch (ClassNotFoundException e) { 
     // TODO Auto-generated catch block 
     System.out.println("class=="+e.getMessage()); 
     return null; 
    } 

} 
+0

你可能會想嘗試'JDBC:db2',而不是'JDBC:DB2' – 2012-07-07 07:09:07

+0

注意,這已經幾乎沒有與Tomcat有關:沒有Tomcat代碼涉及這個特定的問題。一般來說,最好使用Tomcat配置DBCP池來更安全地管理資源。 – 2012-07-07 11:48:27

+0

非常感謝Mark和Christopher提供的寶貴信息。問題在於Mark提到的DBtype。小寫db2工作。非常感謝。 – 2012-07-11 03:24:27

回答

0

「沒有合適的驅動程序」通常意味着你已經提供給連接JDBC URL有不正確的語法或當根本沒有加載驅動程序。

檢查URL語法。該錯誤通常意味着驅動程序類已加載,但URL不正確。 Here是向您展示正確語法的文檔。

當getConnection方法被調用時,DriverManager將嘗試從在那些在初始化加載和那些明確使用相同的類加載器作爲現行小應用程序或應用程序加載查找合適的驅動程序。(使用Class.forName()

這如果db2cc.jar不在你的classpath中,也可能發生。我建議將db2cc.jar放置在你的項目的物理位置/WEB-INF/lib目錄中。然後eclipse會照顧其餘的。

0

由於DB2驅動程序被視爲IDE工具的外部jar文件,因此需要將其添加到它。 在Eclipse中,您需要進入菜單Run - > Run Configurations,並在Classpath選項卡中添加外部DB2 jar文件。 這樣你的java類就可以訪問它。

祝你好運,鮑里斯

-2

我修復了這個錯誤,修復了連接URL。錯誤的是: jdbc:postgresql:/192.168.141.113:5432/ IP前只有一個斜槓。 添加雙斜線:JDBC:在PostgreSQL://192.168.141.113:5432/固定這個錯誤

相關問題