c# - 使 C# 程序可以从 LAN 网络 Access MS-Access 数据库文件

标签 c# sql database ms-access oledb

我有一个 C# 程序使用以下方法连接到 MS-Access 本地文件:

dbConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sPath);
dbConnection.Open();

其中 sPath 是本地文件路径。

程序做select、insert和update sql操作。我想将 C# 程序部署到另一台位于 WiFi LAN 上的计算机以 Access 同一数据库。我假设我只需要提供正确的路径?或者别的什么?数据库是否允许读写操作?

最佳答案

RE: 通过网络共享数据库

是的,基本上您真正需要做的就是将 .accdb(或 .mdb)文件放在共享文件夹中并告诉您的 C# 程序在哪里可以找到它。

注意事项:

  1. 每台机器都需要安装自己的 Access 数据库引擎副本。如果计算机上尚未安装 Access,则可以下载 Access 数据库引擎安装程序 here .

  2. 对于多个并发用户 Access 数据库,所有用户必须有足够的权限来创建和修改关联的 .laccdb(或 .ldb)锁定文件数据库文件所在的文件夹。也就是说,所有用户不仅需要对文件夹 的读取权限。 (这是人们在首次为多个并发用户部署 Access 后端时常犯的错误。)

回复:WiFi

ACE/Jet 数据库引擎依赖于与数据库文件的稳固网络连接,因此任何由弱 WiFi 信号引起的间歇性网络故障都会导致问题。在 WiFi 的早期,这是许多数据库应用程序(包括但不限于 Access 数据库)错误的常见原因。多年来 WiFi 技术得到了改进,因此这不像以前那样是个问题,但请注意不稳定的 WiFi 可能 导致错误(如果你不走运,甚至会损坏数据库文件) .

关于c# - 使 C# 程序可以从 LAN 网络 Access MS-Access 数据库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248917/

相关文章:

c# - Roslyn,如何获得所有类(class)

c# - 具有指向单个表的多个一对多关系的 Entity Framework 代码优先配置

c# - ASP.NET MVC 4 错误处理

php - 在 Yii 的标准中如何获得计数 (*)

mysql - 为什么我的查询显示平均值的多个结果?

sql - 将 BACPAC 文件导入到 windows azure sql 数据库时发生内部错误

sql - 存储多种数据类型

c# - Css display none 不适用于 div 及其内容

java - 如何使用 java ArrayList 中的值更新表?

css - 如何使用 Bootstrap 设置数据库输入的样式