jdbc连ACCESS数据库找不到文件的问题[小编推荐]_access数据库原文件
jdbc连ACCESS数据库找不到文件的问题[小编推荐]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“access数据库原文件”。
jdbc连ACCESS数据库找不到文件的问题.txt大悲无泪,大悟无言,大笑无声。我们手里的金钱是保持自由的一种工具。女人在约会前,一定先去美容院;男人约会前,一定先去银行。主
题: jdbc连ACCESS数据库找不到文件的问题? 作
者: haichengruo(地瓜)等
级: 信 誉 值: 100 所属社区: Java J2SE / 基础类 问题点数: 20 回复次数: 12 发表时间: 2005-09-26 15:11:53
源代码如下: package db;
import java.sql.*;
public cla sqlbean { String sDBDriver = “sun.jdbc.odbc.JdbcOdbcDriver”;
// String DBConnStr=“jdbc:odbc:logincrm”;String DBuser = “user”;
String DBpwd = “”;
String DBConnStr = “jdbc:odbc:driver={Microsoft(*.mdb)};DBQ=jsp.mdb”;
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
public sqlbean(){ try { Cla.forName(sDBDriver);} catch(java.lang.ClaNotFoundException e){ System.err.println(“sqlbean();” + e.getMeage());}
}
Acce Driver public ResultSet executeQuery(String sql){ rs = null;try { conn = DriverManager.getConnection(DBConnStr, DBuser, DBpwd);stmt = conn.createStatement();rs = stmt.executeQuery(sql);} catch(java.sql.SQLException ex){ System.out.println(“sqlbean.executeQuery:” + ex.getMeage());} return rs;
}
public void executeUpdate(String sql){ stmt = null;rs = null;try { conn = DriverManager.getConnection(DBConnStr);stmt = conn.createStatement();stmt.executeUpdate(sql);stmt.close();conn.close();
} catch(java.sql.SQLException ex){ System.out.println(“sqlbean.executeUpdata:” + ex.getMeage());}
}
public void closeStmt(){ try { stmt.close();} catch(java.sql.SQLException e){ e.printStackTrace();}
}
public void closeConn(){ try { conn.close();} catch(java.sql.SQLException e){ e.printStackTrace();}
}
public void printStr(){ System.out.println(“this is printStr()in javabean”);} }
执行到: conn = DriverManager.getConnection(DBConnStr, DBuser, DBpwd);时出错,提示:[Microsoft][ODBC Microsoft Acce Driver] 找不到文件 '(未知的)'。
开发环境:windows2000pro+eclipse+jdk1.50
请哪位大侠出手相助!!
回复人: ycybom()()信誉:100 2005-09-26 15:19:00 得分: 0
数据库要放在同目录下,或者指定绝对路径噢;)
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-26 15:44:00 得分: 0
谢谢楼上,我是把数据库放在同一目录的Top 回复人: xdop(鸿飞处)()信誉:100 2005-09-26 15:48:00 得分: 0
你所说的就是jsp取绝对路径问题
application.getRealPath(“.”)可以取得当前文件夹的绝对物理路径 再加上 你的jsp文件名即可
Top 回复人: xdop(鸿飞处)()信誉:100 2005-09-26 15:51:00 得分: 0
不是jsp的当前文件夹
应该是整个war应用的当前文件夹 Top 回复人: llin998(浓茶水)()信誉:99 2005-09-26 16:06:00 得分: 0
我是这样的程序,可以参考参考,很好用的!连接数据库文件CltDBConn.java
import java.io.*;import java.util.*;import java.sql.*;public cla CltDBConn { String strDB;String strUsr;String strPawd;public String strDBType;int DBType;Connection conn = null;Properties prop;
private String CONF;
public CltDBConn(String dbConf){
//从配置文件中读取配置信息 strDB =dbConf;strUsr = “ ”;strPawd = “ ”;}
public Connection getConn(){ try { DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());System.out.println(strDB);conn = DriverManager.getConnection(strDB, strUsr.trim(), strPawd.trim());conn.setAutoCommit(false);return conn;} catch(SQLException e){ System.out.println(“数据库连结正常!”);return null;} } }
调用连接语句:
声明
private CltDBConn srcDB;
//用于创建本地数据库连结 private Connection srcConn;//用于保持本地数据库连结的对象 调用语句
srcDB = new CltDBConn(“jdbc:odbc:driver={Microsoft Acce Driver(*.mdb)};DBQ=.数据19.mdb”);srcConn=srcDB.getConn();
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-26 16:19:00 得分: 0
救命啊,还是不行,谁能贴一段确实能用的程序吗?楼上的不能马上用。
Top 回复人: lifeng800(j2ee学习中)()信誉:100 2005-09-26 16:21:00 得分: 0
up
Top 回复人: haichengruo(地瓜)()信誉:100 2005-09-27 09:02:00 得分: 0
没人知道吗?
Top 回复人: ycybom()()信誉:100 2005-09-28 12:01:00 得分: 0
贴一段,绝对能用的: public DBService(){
super();
// TODO Auto-generated constructor stub
try {
Cla.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
conn = DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoft Acce Driver(*.mdb)};DBQ=C:/PRODUCT.mdb”);//注意,指定绝对路径名
} catch(ClaNotFoundException e){
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SQLException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Top 回复人: fly__dragon(低飞)()信誉:100 2005-09-28 12:09:00 得分: 0
总结几种方法:
1.如果本地运行,数据库放在当前目录下
2.jsp页面中getRealPath方法获取服务器绝对路径 3.servlet中用context获取上下文信息
4.javabean中,放在服务器的运行目录下,如bin下(tomcat)5.用jndi连接池
Top 回复人: wzjcntlqs(要做钱的主人)()信誉:100 2005-09-28 12:31:00 得分: 0 不知道ACCESS能不能像SQL SERVER 一样可以建个数据源呢
Top 回复人: datalover(String lover(String loveme))()信誉:98 2005-10-03 00:16:00 得分: 0
可以啊,不过只能本地用哦
Top