我有一个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
答案 0 :(得分:2)
如文档here所示,Access SQL中的ALTER DATABASE
只能用于更改数据库密码。与T-SQL(SQL Server)不同,Access中没有ALTER DATABASE
查询来更改数据库的读/写状态。