求各位大神解惑!
我是连接一个放在公共盘的数据库。这样做的应用谁都能用。
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 但是无法安装到公共盘去。 没有权限。
到底怎样才能正常加载驱动连接数据库工作啊 !
首先需要用net use建立权限,否则没法连上你的共享,其次,要对那个盘有写入权限才行。
就算满足这些,可以访问了,但是不同用户不可以同时访问。因为access基于文件,必须独自锁定文件。
所以你的方案行不通,建议还是用sql server或者mysql比较好。
但是我用Excel 表格做的一个vba程序就可以连接上公共盘的access。多个表格在不同电脑同时运行,只要那些电脑能访问公共盘。都能通过Excel 表格里面我写的vba 代码对数据库操作。
对数据库的操作都是打开用完立马关闭的。所以update 一下 这些都是不冲突的啊 。 公司只有access 。
我要求的这程序功能很简单。用EXCEL 表格都可以完成。 但是Excel 表格要是不连接数据库就是单机版。不适用多台电脑同时运行。还有就是总是对着一个表格操作看着很不舒服。别人对表格单元格删除什么的误操作都可能影响代码的运行。后期需要更大的工夫去维护。
在这里我就是想做一个有后台数据库的小应用。 各位帮推荐下用什么编写合适呢。公司的SAP 是基于java 编写的。所以每台电脑在转系统的时候都装了java。公司的office 是2007 的纯英文版。所以目前能用的数据库 也就是只有access!
求方案