源代码如下:
package db;import java.sql.*;public class sqlbean {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; // String DBConnStr="jdbc:odbc:logincrm";
String DBuser = "user"; String DBpwd = ""; String DBConnStr = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=jsp.mdb"; private Connection conn = null; private Statement stmt = null; ResultSet rs = null; public sqlbean() {
try {
Class.forName(sDBDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("sqlbean();" + e.getMessage());
} } 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.getMessage());
}
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.getMessage());
} } 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 Access Driver] 找不到文件 '(未知的)'。开发环境:windows2000pro+eclipse+jdk1.50请哪位大侠出手相助!!!
package db;import java.sql.*;public class sqlbean {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; // String DBConnStr="jdbc:odbc:logincrm";
String DBuser = "user"; String DBpwd = ""; String DBConnStr = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=jsp.mdb"; private Connection conn = null; private Statement stmt = null; ResultSet rs = null; public sqlbean() {
try {
Class.forName(sDBDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("sqlbean();" + e.getMessage());
} } 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.getMessage());
}
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.getMessage());
} } 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 Access Driver] 找不到文件 '(未知的)'。开发环境:windows2000pro+eclipse+jdk1.50请哪位大侠出手相助!!!
application.getRealPath(".")可以取得当前文件夹的绝对物理路径
再加上 你的jsp文件名即可
应该是整个war应用的当前文件夹
连接数据库文件CltDBConn.java
import java.io.*;
import java.util.*;
import java.sql.*;
public class CltDBConn
{
String strDB;
String strUsr;
String strPasswd;
public String strDBType;
int DBType;
Connection conn = null;
Properties prop; private String CONF ; public CltDBConn(String dbConf)
{
//从配置文件中读取配置信息
strDB =dbConf;
strUsr = " ";
strPasswd = " ";
} public Connection getConn()
{
try
{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
System.out.println(strDB);
conn = DriverManager.getConnection(strDB, strUsr.trim(), strPasswd.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 Access Driver (*.mdb)};DBQ=.\数据19.mdb");
srcConn=srcDB.getConn();
public DBService() {
super();
// TODO Auto-generated constructor stub
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(
"jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/PRODUCT.mdb");//注意,指定绝对路径名
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2.jsp页面中getRealPath方法获取服务器绝对路径
3.servlet中用context获取上下文信息
4.javabean中,放在服务器的运行目录下,如bin下(tomcat)
5.用jndi连接池