ALTER DATABASE查询Access无法正常工作

时间:2013-10-03 19:10:18

标签: c# ms-access-2007

我有一个C#应用程序,它将Access作为后端数据库。数据库受密码保护,并自动变为只读。我需要以编程方式使其成为读写。为此,我写了以下代码:

 OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Windows\Database5.accdb;Jet OLEDB:Database Password=<redacted>;");
 con.Open();
 OleDbCommand cmd = new OleDbCommand("ALTER DATABASE Database5.accdb SET READ_WRITE", con);
 OleDbDataReader dr = cmd.ExecuteReader();
 if (dr.Read() == true)
 {
    MessageBox.Show("database altered");
 }
 else
 {
    MessageBox.Show("not altered");
 }

我得到的错误是:invalid SQL syntax. Expected token: password

1 个答案:

答案 0 :(得分:2)

如文档here所示,Access SQL中的ALTER DATABASE只能用于更改数据库密码。与T-SQL(SQL Server)不同,Access中没有ALTER DATABASE查询来更改数据库的读/写状态。