ms-access - Access 数据库的只读连接字符串

标签 ms-access connection-string oledb

我正在尝试使用 System.Data.OleDb.OleDbConnection 连接到 Access 数据库文件。我需要以只读模式连接,因为另一个应用程序同时使用它。我可以以读/写方式连接到数据库,没有问题,但似乎无法在任何地方找到正确的只读字符串。

我已经尝试过:

Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};持久安全信息=False;Mode=读取

Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};持久安全信息=False;扩展属性=“ReadOnly=true;”

谢谢。

编辑:

(我应该在原来的问题中添加更多信息。)

当 Access 数据库位于本地计算机上时,我可以成功连接到该数据库,但是当我尝试使用连接字符串连接到远程计算机上的 Access 数据库时

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 服务中运行。

最佳答案

我认为这必须通过数据库管理员控制的用户权限来处理,或者使用您可以控制的记录集的不同游标类型来处理。我不认为连接字符串指定 Access 模式,它只是让您到达那里。 ;)

关于ms-access - Access 数据库的只读连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942936/

相关文章:

SSIS 包未从 SQL 代理作业执行

c# - 从代码在存储过程中将数据类型 nvarchar 转换为 datetime 时出错

vb.net - Access 查询中的语法错误(缺少运算符)

csv - 检查 csv 文件是否从 vba 打开

c# - 从 C# 连接到 Amazon EC2 MySQL 时出错

.net - 如何先用 Entity Framework 数据库获取数据库信息?

c# - 未找到 OLEDB 提供程序

C# 转 MS Access 数据库

sql-server - 从 VBA 执行 SQL Server 存储过程并检索所有消息和结果集

c# - ADO.NET:无法连接到 mdf 数据库文件