是的,代替 Access 文件的简单“文件共享”,您现在将运行某种 SQL 服务器系统。在这种情况下,MySQL。但它可以是 PostgreSQL 或任何类型的“服务器”数据库。
因此,必须设置、安装“sql server”实例,并确保运行该 MySQL 实例的“box”也允许外部连接(通常默认情况下,给定的计算机防火墙设置会阻止这种情况)。
此时,同一网络上的 2 或 10 台不同的计算机现在可以简单地连接到 SQL 服务器。代码当然会非常相似。您几乎可以肯定使用 oleDB 提供程序与 Access 一起使用。但是,您可以使用 ODBC 提供程序,甚至可以使用来自 MySQL 的提供程序。因此,这些提供者意味着您更改连接对象、数据读取器对象等。但是“基本”.net 类型(例如行、数据表或数据集)可以保持与以前一样(因此您只需更改提供者)。如果您有很多基于 oleDB 的代码,那么您可以考虑继续在 .net 中使用该 oleDB 提供程序代码,因此您将连接字符串更改为现在指向 MySQL。
如果您没有很多代码,那么请务必采用 .net 的 mySQL 提供程序。但如前所述,最少的更改是继续为 mysql 使用 oleDB 提供程序,这表明要更改的代码最少。
至于msaccess的数据迁移?好吧,目前还不清楚什么工具以及您现在如何做到这一点。但是,一旦您将数据传输到 MySQL 服务器(假设您安装 + 设置我的 sql 以在一台计算机上运行)。将代码中的 .net 连接指向 Now MySQL 而不是 Acess 是一件简单的事情。因此,大多数(如果不是全部)用于处理表的代码逻辑可以保持与以前一样 - 但如前所述,您必须在 .net 中交换提供程序部分
现在,如果您真的很幸运并且 .net 代码使用了 ODBC 提供程序?然后你所要做的就是改变你的连接字符串。当然,你的代码中的“一些”SQL 语法可能需要调整,比如 Oracle、MS SQL server、postgreSQL 和 MySQL?
嗯,它们都有一些不同的特性和语法——尤其是在日期/时间计算、datediff() 等方面。但是您在 .net 代码中拥有/拥有的一般 sql 应该主要继续运行未针对 MySQL 数据表进行更改。
至于如何迁移数据?我认为一个非常好的工具当然是使用 MS-Access。你要做的是让 MySQL 启动并运行。然后使用 ms-access 打开该数据库。然后将链接表从 MS-access 添加到 MySQL 表。
此时,您现在可以从 Access 运行附加查询以将数据移动/发送到 MySQL。这实际上取决于该数据库中有多少表以及有多少相关表。 Access 中的相关表越复杂且数量越多,将此类数据上移到 MySQL 的挑战就越大。
传输 Excel 或小型甚至大型表格是轻而易举的事。 (再次,使用 MS Access 并链接到 sql server 上的表)。但是,事情可能变得混乱的地方是,如果您说 25 个表,并且它们都是相关的,那么许多表都有级联删除并说强制的父子关系。所以表越多,尤其是相关数据表越多,这样的数据迁移任务就会越多。
我认为 MS Access 是一个非常好的工具,因为如果您设置了与 MySQL 的连接,那么您可以在 Access 中执行 transferDatabase 命令以将一个表发送到 MySQL,甚至这些列的所有列和数据类型将自动为您创建。因此,Access 不仅可以传输数据,更有价值的是它能够为您在 MySQL 上创建目标表 - 这将节省您在 MySQL 上构建和设置表的大量时间。