在Tomcat中找不到适用于jdbc错误的驱动程序
我正在通过EclipseIDE开发一个动态web应用程序,并使用Tomcat7.0部署war文件。我试图通过在在Tomcat中找不到适用于jdbc错误的驱动程序,tomcat,jdbc,Tomcat,Jdbc,我正在通过EclipseIDE开发一个动态web应用程序,并使用Tomcat7.0部署war文件。我试图通过在getConnection()中传递url、用户名和密码参数的方法连接到数据库 我已将db2jccjar放在tomcat lib文件夹中。我得到的sql异常如下所示 No suitable driver found for jdbc:DB2://localhost:50000/InstanceName 在eclipse服务器控制台中。任何关于如何克服这个问题的建议 protected
getConnection()
中传递url、用户名和密码参数的方法连接到数据库
我已将db2jcc
jar放在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;
}
}
“没有合适的驱动程序”通常意味着您提供的用于连接的JDBCURL语法不正确,或者根本没有加载驱动程序
检查URL语法。该错误通常意味着已加载驱动程序类,但URL不正确。是向您展示正确语法的文档
调用getConnection方法时,DriverManager
将尝试从初始化时加载的驱动程序和使用与当前小程序或应用程序相同的类加载器显式加载的驱动程序中查找合适的驱动程序。(使用Class.forName()
)
如果
db2cc.jar
不在您的类路径中,也可能会发生这种情况。我建议将db2cc.jar
放在项目的/WEB-INF/lib
目录的物理位置。然后eclipse将处理其余部分。由于DB2驱动程序被视为IDE工具的外部jar文件,您需要将其添加到IDE工具中。
在Eclipse中,您需要进入菜单Run->runconfigurations,并在选项卡Classpath中添加外部DB2JAR文件。
这样,java类就可以访问它
祝你好运,Boris我通过修复连接URL修复了这个错误。错误地是: jdbc:postgresql:/192.168.141.113:5432/在IP前面只有一个斜杠。
添加双斜杠:jdbc:postgresql://192.168.141.113:5432/ 修复了此错误您可能希望尝试
jdbc:db2
而不是jdbc:db2
请注意,这与Tomcat几乎没有任何关系:没有Tomcat代码涉及此特定问题。通常,最好使用Tomcat配置DBCP池,以便更安全地管理资源。非常感谢Mark和Christopher提供的宝贵信息。问题在于Mark提到的DBtype。小写的db2起作用了。非常感谢。