为什么jsp的工程放在tomcat下运行不能连接数据库?

2025-03-26 06:22:34
推荐回答(4个)
回答1:

String path="";
Class theClass=DataBase.class;
java.net.URL u= theClass.getResource("db/db.mdb");
System.out.println(u.getPath().substring(1,u.getPath().length()).replaceAll("%20", " "));
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+u.getPath().substring(1,u.getPath().length()).replaceAll("%20", " ");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(url);

为什么要用数据源?不方便程序移植,直接把路径定死也不方便。

我这段代码就是把数据库文件放到了 当前类 目录同级下的一个 “db”文件夹里面。

java.net.URL u= theClass.getResource("db/db.mdb");

可以把数据库文件的绝对路径取出来。

u.getPath().substring(1,u.getPath().length()).replaceAll("%20", " ")

这句是把里面的空格替换回来,因为取出来的路径中的空格被"%20"代替了,我们要把他替换回来。

经过测试可用的!

回答2:

你再仔细看看他项目的说明,有的access数据库不用添加数据源,但是需要放在指定的地方,比如
Connection conn = DriverManager.getConnection("jdbc:odbc:driver={microsoft access driver (*.mdb)};dbq=c:/db.mdb","", "");
这个就是要方C盘下,你看看说明吧再

回答3:

tomcat 没有问题,问题出在数据库。好好检查一下数据库有什么地方不正确

回答4:

数据源名字有没错 最好用系统数据源