2013-05-02 47 views
0

我有使用我的java程序可以连接的Access数据库(mdb文件)。 Access DB的用户级别安全性已打开。我正在尝试在用户级安全性(即MDW文件)中添加新用户。 我认为这可以通过执行SQL语句来完成=的Microsoft Jet 4.0 SQL命令=“CREATE USER博伊德密码”如何使用Microsoft Access与JDBC执行Microsoft Jet 4.0 SQL命令

,但是当我执行它,它给我的错误,如下所示:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in CREATE TABLE statement. 

任何人都可以帮助我? 在此先感谢。

回答

0

下面的代码对我的作品:

import java.sql.*; 

public class JDBCQuery { 
    public static void main(String args[]) 
    { 
     try 
     { 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection conn = DriverManager.getConnection(
        "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};" + 
        "Dbq=C:\\Users\\Public\\uls\\ulsTest.mdb;" + 
        "SystemDB=C:\\Users\\Public\\uls\\Security.mdw;" + 
        "Uid=Gord;" + 
        "Pwd=obfuscated;" + 
        "ExtendedAnsiSQL=1;"); 
      Statement s = conn.createStatement(); 
      s.execute("CREATE USER Tim pwd"); 
      System.out.println("User 'Tim' created."); 
      s.execute("DROP USER Tim"); 
      System.out.println("User 'Tim' dropped."); 
      s.close(); 
      conn.close(); 
     } 
     catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

非常感谢。像魅力一样工作。区别在于我描述的连接细节没有ExtendedAnsiSQl标志。 – 2013-05-02 16:05:51

+0

它会正确创建用户,但无法使用新用户登录到数据库?什么可能是问题? – 2013-05-13 11:20:09