Cannot open the MS Office Access database engine workgroup information file
- 当我有发布的代码。打开连接到MS Access 2007文件时出错:无法打开MS Office Access数据库引擎工作组信息文件
我想在我的代码中做的是创建MS Access 2007文件,然后从我的程序中设置用户名和密码。我在这里做错了什么?发生
错误的位置:objOleDbConnection.Open();
编辑:我已经做了一些改变,好像它会打开一个连接,但该命令是不正确。
现在的问题是在这里:
objOleDbCommand.CommandText =
"ALTER USER " + storedAuth.UserName +
" PASSWORD [" + storedAuth.Password + "] []";
整个代码:
// Creating an object allowing me connecting to the database.
OleDbConnection objOleDbConnection = new OleDbConnection();
objOleDbConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + sfdNewFile.FileName + ";Persist Security Info=False";
// Creating command object.
OleDbCommand objOleDbCommand = new OleDbCommand();
objOleDbCommand.Connection = objOleDbConnection;
try
{
objOleDbConnection.Open();
objOleDbCommand.CommandText = "ALTER USER " +
storedAuth.UserName + " PASSWORD [" +
storedAuth.Password + "] []";
objOleDbCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
// Displaying any errors that
// might have occured.
MessageBox.Show("Error: " + ex.Message);
}
finally
{
objOleDbConnection.Close();
}
这是一个MDB或ACCDB文件?你提到这是一个Access 2007文件,但我想完全清除,因为[ACCDB文件没有用户级安全性](http://office.microsoft.com/en-us/access-help/what-发生对用户级安全-HA010234561.aspx)。 –
@Cheran Shunmugavel:MDB有吗?我确实使用ACCDB。 – HelpNeeder
是的。确保您不会将用户级别的安全性(仅适用于MDB)与简单的数据库密码(可用于MDB或ACCDB)相混淆。如果您只想密码保护数据库,则可以使用['ALTER DATABASE PASSWORD'](http://msdn.microsoft.com/zh-cn/library/bb177884%28v=office.12%29.aspx)命令。 –