我试图使用System.Data.OleDb.OleDbConnection连接到Access数据库文件。我需要以只读模式连接,因为另一个应用程序在同一时间使用它。我可以在读/写连接到数据库没有问题,但似乎无法找到任何地方正确的字符串只读。只读连接字符串到访问数据库
我已经试过:
商= Microsoft.ACE.OLEDB.12.0;数据源= {0};坚持安全信息= FALSE;模式=读
提供商= Microsoft.ACE.OLEDB .12.0;数据源= {0};持久安全信息= False;扩展属性=“ReadOnly = true;”
谢谢。
编辑:
(我应该投入更多的信息,原来的问题)
我可以成功连接到访问数据库时,它是本地机器上,但是当我试图连接到接入数据库远程计算机上,使用连接字符串
Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Mode=Read
我会得到以下错误:
System.Data.OleDb.OleDbException (0x80004005): The Microsoft Office Access database engine cannot open or write to the file '{0}'. It is already opened exclusively by another user, or you need permission to view and write its data.
我的应用程序在本地系统帐户下一个Windows服务运行。
尝试将设置模式设置为“adModeRead”(不含引号)。 [见MSDN参考](http://msdn.microsoft.com/en-us/library/ms676693(v = vs.85).aspx)。 (不作这个答案,因为我无法验证它是否会起作用,只是关闭MSDN数据。) – 2011-05-09 22:09:55
我试着将Mode设置为'adModeRead',但它引发'System.Data.OleDb.OleDbException(0x80040E73):Format的初始化字符串不符合OLE DB规范。'感谢您的建议。 – Smiffy 2011-05-26 12:22:08