我正在通过eclipse IDE开发动态Web应用程序,并使用Tomcat 7.0来部署war文件。我正在尝试通过在getConnection()
中传递url,username和password参数来通过方法连接到数据库。
我已将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;
}
}
答案 0 :(得分:0)
“没有合适的驱动程序”通常意味着您提供给连接的JDBC URL具有错误的语法或者根本没有加载驱动程序。
检查网址语法。该错误通常意味着加载了驱动程序类,但URL不正确。 Here是向您展示正确语法的文档。
当调用getConnection方法时,DriverManager
将尝试从初始化时加载的驱动程序中找到合适的驱动程序,并使用与当前applet或应用程序相同的类加载器显式加载的驱动程序。(使用Class.forName()
})
如果您的类路径中没有db2cc.jar
,也可能会发生这种情况。我建议将db2cc.jar
放在项目的/WEB-INF/lib
目录的物理位置。然后eclipse会照顾其余部分。
答案 1 :(得分:0)
由于DB2驱动程序被视为IDE工具的外部jar文件,因此需要将其添加到IDE工具中。 在Eclipse中,您需要转到菜单Run - >运行配置并在选项卡Classpath中添加外部DB2 jar文件。 这样你的java类就可以访问它了。
祝你好运,鲍里斯答案 2 :(得分:-2)
我通过修复连接URL修复了此错误。错误的是: jdbc:postgresql:/192.168.141.113:5432 / 在IP之前只有一个斜杠。 添加双斜杠: jdbc:postgresql://192.168.141.113:5432 / 修复此错误