如何使用Microsoft Access与JDBC执行Microsoft Jet 4.0 SQL命令
问题描述:
我有使用我的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.
任何人都可以帮助我? 在此先感谢。
答
下面的代码对我的作品:
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();
}
}
}
非常感谢。像魅力一样工作。区别在于我描述的连接细节没有ExtendedAnsiSQl标志。 – 2013-05-02 16:05:51
它会正确创建用户,但无法使用新用户登录到数据库?什么可能是问题? – 2013-05-13 11:20:09