我用jdbc-odbc连接一个带有“工作组管理员”(.MDW)的Access数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url ="jdbc:odbc:driver=
{Microsoft Access Driver (*.mdb)};DBQ=C:\\mydb.mdb;pwd=mypassword;SystemDB=C:\\mymdw.mdw";
Connection connection = DriverManager.getConnection(url);因为这个“工作组管理员”(.MDW)也带有它自己的用户名和密码 请问在程序中我应该怎样设置“工作组管理员”(.MDW)的用户名和密码,才能连上数据库。 谢谢!

解决方案 »

  1.   

    楼主用的不是access2003?没见过mdw文件.
    我用access2003时是这样连的:
    String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:\\mydb.mdb"; 
        con=DriverManager.getConnection(url,"A","password");
      

  2.   

    谢谢楼上:
    我用的是Access2003 .mdw文件是一个 工作组管理员或叫做系统数据库 DriverManager.getConnection(url,"A","password");这里边指定的是数据库的用户名和密码 而不是这个.mdw的用户名和密码 
      

  3.   

    问题已解决,其实解决的方法很简单。
    就是打开access之后 “工具”-> "安全" -> “用户与组账户” 中,新添加一个用户并使其隶属于管理员组就可以了,并且这个用户不要设置密码。Java中的创建连接的程序段如下:
    //需要创建数据源
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:数据源", "用户名", "密码");
    //无需创建数据源
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url = "jdbc:odbc:driver= {Microsoft Access Driver (*.mdb)};DBQ=C:\\数据库.mdb;SystemDB=C:\\系统数据库.mdw";
    Connection conn = DriverManager.getConnection(url, "用户名", "密码");原因就是用Java jdbd-odbc 连接Access数据库的时候只能提交一组用户名和密码,所以当系统数据库(mdw)和用户数据库(mdb)同时设有密码的时候,连接就会存在问题。