求各位大神解惑!
我是连接一个放在公共盘的数据库。这样做的应用谁都能用。
public class ConnectAccess {
private static String strurl;
public void setStrurl(String strurl,int pwd){
this.strurl="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ="+strurl+";pwd="+pwd;
}
public ConnectAccess(String strurl,String pwd){//构造方法
ConnectAccess.strurl="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ="+strurl+";pwd="+pwd;
//System.out.println(ConnectAccess.strurl);
//strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\\ScannerList.accdb;pwd=3759";
}
public ConnectAccess(){}
public static void main(String[] args){
ConnectAccess ca =new ConnectAccess("\\\\huafile01\\WH\\20_REC\\02.RMA & MRO\\database\\ScannerList.accdb","3759");
ca.tryConnect();
}
public boolean tryConnect(){
boolean falg=false;
//String sql="select * From USERinfo where [USER]=\""+user+"\"" ;
String sql="select * From PART_MPN ";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class
cc=Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("驱动: "+cc);
System.out.println("strurl: "+strurl);
conn = DriverManager.getConnection(strurl);//此句报错空指针!
System.out.println("conn: "+conn);
stmt = conn.createStatement();
System.out.println("stmt: "+stmt);
rs = stmt.executeQuery(sql);
System.out.println("sql: "+sql);
System.out.println("rs: "+rs);
falg=rs.next();
}catch (Exception e) {
System.err.println(e);
}finally{
try {
rs.close();
} catch (Exception ex) {
}
try {
stmt.close();
} catch (Exception ex) {
}
try {
conn.close();
} catch (Exception ex) {
}
}
return falg;
}
这是一个测试连接的
之前用一个本地盘的jdk1.6 都一切正常。后来换了个C 盘的jdk 1.8 之后就在红色部分报错空指针。用本地盘的jdk 做出来的应用 打包成jre 之后一直无法加载驱动。就是Class.forName没结果。网上找了好多没有能解决的。
换了驱动索性把工作路径也设置在了公共盘。但是这样就是在连接数据库Connection时总是出错!求解惑。
页面设计都设计好了。本来用的D盘的jdk1.6 一切无问题都测试好了。 结果用myeclipse 导出成jre 就是无法加载驱动。 用电脑自带的c盘的jdk1.8 就是无法连接数据库。
说一下我这里的开发环境;
1公司的电脑。我做个应用要给很多电脑用。公司电脑有公共盘。单个电脑无权限连接别的电脑。所有只有借助公共盘放数据库
2 个人电脑的C盘个人无权限增删改。只可读。公司装的系统每台机都有jdk。 就在C:\Program Files\Java\jre1.8.0_40 。
3 我下载下来了一个JDK 但是无法安装到公共盘去。 没有权限。
到底怎样才能正常加载驱动连接数据库工作啊 !