如何从 MS Access 转换为 MySQL?

Posted

技术标签:

【中文标题】如何从 MS Access 转换为 MySQL?【英文标题】:How to convert form MSAccess to MySQL? 【发布时间】:2014-03-23 05:22:33 【问题描述】:

我必须维护一个由其他人编码的项目。在那个项目中,他们使用了 MSAccess 数据库 (.mdb)。我对 C# 和使用 C# 的数据库连接知之甚少。现在我需要从 MSAccess 转换为 mysql

我该怎么做?

【问题讨论】:

是迁移数据库的一次性活动还是在 MySQL 中完成应用程序的返工 它只是一次迁移。我只需要转换应用程序,以便它可以使用 mysql 数据库而不是 MSAccess。 可以迁移,您可以使用许多可用工具之一,这些链接可以为您提供帮助:http://www.bullzip.com/products/a2m/info.phphttps://dev.mysql.com/doc/connector-odbc/en/connector-odbc-examples-tools-with-access-export.html 关于使用 MySQL 编写 C#,您需要 MySql 连接器 (dev.mysql.com/downloads/connector/net) 和更多帮助在http://www.codeproject.com/Tips/423233/How-to-Connect-to-MySQL-Using-Csharp 我是否也需要更新所有的连接和查询?或者有什么快速的方法可以做到这一点? 我不知道是否有可用的工具。您需要更改每个连接(因为它已更改),彻底测试应用程序并仅更改根据应用程序行为所需的查询。把它总结为一个答案,如果它解决了你的问题,请标记。 【参考方案1】:

您的要求可以分为两部分:

迁移数据 更新应用以使用新数据库

1.迁移数据:许多工具可用于执行相同的 2 个网址:

http://www.bullzip.com/products/a2m/info.php https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-examples-tools-with-‌​access-export.html 如果您想自定义数据迁移,也可以编写自定义应用程序。

2.更新应用:

首先您需要更改所有连接对象以使用新数据库, 您可能还需要更改查询,但在执行所有这些操作之前,请测试应用程序 仅更改所需的查询。 MySQL 与 C# 帮助:http://www.codeproject.com/Tips/423233/How-to-Connect-to-MySQL-Using-Csharp

【讨论】:

【参考方案2】:

我认为您需要执行以下步骤。

步骤 1: 将您现有的 MS ACCESS 数据库迁移到 My SQL,您可以使用 MS Access to My SQL 工具,例如 'Bullzip' ,您可以创建临时数据库即 TempAccessDB

第 2 步: 在需要编写插入语句的地方编写脚本,将 TempAccessDB 数据库迁移到应用程序的 My SQL 数据库。

下面是 MS SQL(不是 MySQL)的示例脚本

 /********* Transfer Student Table Data ***********
 SET @sqlStatement=N'INSERT INTO  '+ @newDBName_Full +'Student]
                                 (StudentID,StudentName)
                        SELECT  StudentID,SName
                        FROM  '+@oldDBName_Full +'tblStudent] a
                        WHERE NOT exists (SELECT 1 FROM '+ @newDBName_Full +'Student] b WHERE LTRIM(RTRIM(b.StudentName))= LTRIM(RTRIM(a.sName)))'
exec sp_executesql @sqlStatement

 /********* Transfer Grade Data***********

...

【讨论】:

【参考方案3】:

由于您提到这只是“一次性”的事情,您可以执行以下操作...

    在您的 MSAccess 表中,右键单击然后导出 > ODBC 数据库

    输入您想要的表名或默认使用提供的名称

    [将提示您选择 ODBC 数据源] 选择源(实际上是目标连接)。如果您还没有这个,您可以搜索如何创建 ODBC 连接……非常简单。 :)。然后点击确定。

这将立即在您的 MySql 中创建表并插入所有记录。 请注意,它使用 utf-8 编码。就我而言,我的数据中有日文字符,它们被转换为其他字符。不知道如何解决这部分。除此之外,你应该没事。

无需第三方应用或编码。 :D

【讨论】:

以上是关于如何从 MS Access 转换为 MySQL?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Access 的追加查询中将数据类型从文本转换为是/否?

从 Oracle 到 MS-Access 到 Mysql

MySQL Workbench 连接到 MS Access

在 MS Access SQL 查询中从普通日期转换为 unix 纪元日期

将 MS Access 97 转换为 MySQL 5.5(有任何工具吗?)

MS Access to MySQL 转换帮助(巨表)