返回
数据
分类

Access数据转换,但可能到现在还不能算是解决

日期: 2020-01-02 08:21 浏览次数 : 195

次文章主要向大家介绍的是将MSSQL数据转换到MySQL数据库的时机操作方法(MSSQL2MYSQL) ,对于这个问题了很早就有想解决的年头了,但是到现在还不能算是解决,但至少先把我斗争到现在的可行的方法以及我尝试过的方法列举出来。

很早就想解决这个问题了,但可能到现在还不能算是解决,但至少先把我斗争到现在的可行的方法以及我尝试过的方法列举出来,让大家能够走一些近道

一、将Access 数据库数据移植转换为SQL Server 2000
第一步,开启SQLSERVER 2000服务管理,打开“企业管理器”,新建一个数据库,名称为“Access数据转换”;
必赢手机登录网址 ,第二步,运行“导入和导出数据”,打开“DTS导入/导出向导”。选择数据源时,有两种选择:“Driver do Microsoft Access(*.mdb)”或“Microsoft Access”(前者所选是的ODBC驱动程序,后者则是微软提供的数据接口),下面作分别介绍:
如果选择前者“Driver do Microsoft Access(*.mdb)”,需要新建“文件数据源”,选择安装数据源的驱动程序为“Driver do Microsoft Access(*.mdb)”,并保存此连接的文件数据源的名称为“db.dsn”。在弹出的“ODBC Microsoft Access安装”对话框中,选择确认要转换的源Access数据库后,返回选择“文件DSN”为“db.dsn”;若选择后者“Microsoft Access”,则相对简单,只需选择确认源Access数据库的路径即可。 第三步,选择目标数据库为“Access数据转换”,在“指定表复制或查询”中选择“从源数据库中复制表和视图”,然后选择审计相关的数据表进行导入/导 出操作。这样就把Access数据导入到SQL SERVER“Access数据转换”数据库中。
二、将SQL Server 2000数据库数据移植转换到Access中
第一步,打开ACCESS,新建一个数据库,命名为“SQL SERVER数据转换”;
第二步,在“文件”菜单中打开“获取外部数据à导入”,在“导入”对话框中选择类型为“ODBC数据库()”,即打开“选择数据源”对话框;
Access数据转换,但可能到现在还不能算是解决。第三步,新建“文件数据源”,选择安装数据源的驱动程序为“SQL SERVER”,并保存此连接的文件数据源的名称为“Sql server.dsn”,即可打开“创建到SQL SERVER的新数据源”对话框,这将帮助建立一个能用于连接SQL SERVER的ODBC数据源。在此对话框中,选择被连接的SQL SERVER服务器的名称及登陆方式,并且在“更改默认的数据库”下拉列表中选择要进行数据转换的SQL SERVER数据库的名称,此后,测试ODBC数据源是否连接成功,若是,即可进入“导入对象”对话框;
第四步,在“导入对象”对话框的“表”选项卡中选择要导入到ACCESS中的SQL SERVER表,点击“确定”即可将SQL SERVER 2000中数据转换为ACCESS数据格式。

最早使用的应该是DBConvert for MSSQL and MySQL工具,但不知道为什么就是无法连接我的MSSQL,可能是2005的原因吧,链接2000好像是很OK的,因为我测试连接虚拟主机的MSSQL2000完全正常,链接本机的MSSQL2005失败,没有办法只好放弃。

最早使用的应该是DBConvert for MSSQL and MySQL工具,但不知道为什么就是无法连接我的MSSQL,可能是2005的原因吧,链接2000好像是很OK的,因为我测试连接虚拟主机的MSSQL2000完全正常,链接本机的MSSQL2005失败,没有办法只好放弃。

然后继续找方法,发现一个问题是,我查找所有的中文的资料(就是Google查找出来的中文网页),都没有给我太好的结果,最好只好用英文关键字查找:

然后继续找方法,发现一个问题是,我查找所有的中文的资料(就是Google查找出来的中文网页),都没有给我太好的结果,最好只好用英文关键字查找:convert mssql to mysql,竟然第一条就是MYSQL官方的网页,进去浏览后发现很不错,基本上能够解决我的问题,并提出了五种方法,我查找的中文网页基本上是让我通过ODBC工具来解决的,即使给出代码之类也没有好用的代码。罢,真是差距。简单读来,文章中提出了五种方法,分别如下(其实,这个网页的标题也不是MSSQL2MYSQL,所以有五种方法也应该理解,原文链接:Migrating from Microsoft SQL Server and Access to MySQL):

convert mssql to mysql,竟然第一条就是MYSQL数据库官方的网页,进去浏览后发现很不错,基本上能够解决我的问题,并提出了五种方法,我查找的中文网页基本上是让我通过ODBC工具来解决的,即使给出代码之类也没有好用的代码。罢,真是差距。

MSSQL2MYSQL
Microsoft DTS
SQLyog
Access Export
Text Import/Export

简单读来,文章中提出了五种方法,分别如下(其实,这个网页的标题也不是MSSQL2MYSQL数据库,所以有五种方法也应该理解,原文链接:Migrating from Microsoft SQL Server and Access to MySQL):

以上的几种转换,我想都应该要用到ODBC for MYSQL的工具吧,所以请大家先自行下载安装,并重启电脑后再使用以上的方法。

MSSQL2MYSQL   Microsoft DTS   SQLyog   Access Export   Text Import/Export  

Microsoft DTS应该算是MSSQL自带的导入导出工具吧,在导入导出ACCESS和文本等方面MSSQL还是很不错的,不过我在MSSQL2005的导入导出工具中竟然没有找到ODBC,够晕,难道没有?看来还需要查查文档。

以上的几种转换,我想都应该要用到ODBC for MYSQL的工具吧,所以请大家先自行下载安装,并重启电脑后再使用以上的方法。

而Access Export就是Access的导出工具,导出的时候选择ODBC,当然也需要先配置好MYSQL的ODBC参数才好进行。

Microsoft DTS应该算是MSSQL自带的导入导出工具吧,在导入导出ACCESS和文本等方面MSSQL还是很不错的,不过我在MSSQL2005的导入导出工具中竟然没有找到ODBC,够晕,难道没有?看来还需要查查文档。

SQLyog是一个MYSQL的管理工具吧,由于懒得下载,所以也没有测试。

而Access Export就是Access的导出工具,导出的时候选择ODBC,当然也需要先配置好MYSQL的ODBC参数才好进行。

Text Import/Export这个我在phpMyAdmin工具中导入文本文件即可,这可能比较适合小量的数据,对于大量的工具我想就不是很方便了。

SQLyog是一个MYSQL的管理工具吧,由于懒得下载,所以也没有测试。

MSSQL2MYSQL是一个VB类的代码,全部的代码请参见此页:。将这个代码复制到VBA或者VB的类模块中,按照说明设置好参数,运行即开始了数据的转换过程。这里有一点值得注意的是,由于不同的数据库引擎,使用的字段的类型是不一样的,所以涉及到字段类型转换,不过这份代码已经解决了这份问题,所以不用考虑数据转换,不过我也就基本的数据类型永不到image等等类型所以我想有没有和我关系不大。我打开VB6真的设置了参数运行了一遍,可以通过,本来准备写成工具的,结果发现人家本来就提供了第三方的GUI工具,唉,早知道我就直接下GUI工具就可以了不必那么累让自己动手一遍。OK,作者的MSSQL2MYSQL页面:,下面有一个GUI versions的部分,这里提供了两个MSSQL2MYSQL的GUI工具,这两个工具都是比较简单,我简单的说一下参数,MSSQL和MYSQL的链接参数我想都会的,那个drop database参数大概是说在转换前先删除MYSQL中的该数据库,然后再做转换,就是为了干净嘛,所以如果转换到已经存在的数据库中的话就需要注意了,verbosity其实就是output选项,是转换到数据库呢还是输出为SQL文件呢,1为输出文件,0为直接导入到MYSQL,其余没有什么好说的,字符编码一般我想也都用UTF-8吧。其余就自己琢磨吧。

Text Import/Export这个我在phpMyAdmin工具中导入文本文件即可,这可能比较适合小量的数据,对于大量的工具我想就不是很方便了。

 

MSSQL2MYSQL是一个VB类的代码,全部的代码请参见此页:

关于MSSQL2MYSQL的效率,真是让我大失所望,可以说虽然找到了这样的方法,但是真正的转换不仅仅是痛苦。上面的MSSQL2MYSQL代码转换方法,效率大概是1小时5000条记录,而使用Access Export,好像也没有快多少。要知道我600万条记录,那要我转换到猴年马月?疯掉。看来还得想其他办法。不过话又说回来,我将600万条记录使用BCP映射的方法导入到SQL SERVER中,大概也要半个多小时,而使用SQL SERVER的导出功能将数据库导出为ACCESS,时间也不短,最后等的没有耐心只好开着电脑就去睡觉了。

我打开VB6真的设置了参数运行了一遍,可以通过,本来准备写成工具的,结果发现人家本来就提供了第三方的GUI工具,唉,早知道我就直接下GUI工具就可以了不必那么累让自己动手一遍。

这大概就是我现阶段所尝试的MSSQL2MYSQL的方法吧,如果有朋友有更好更快的方法,请务必告知一声,谢谢。

OK,下面有一个GUI versions的部分,这里提供了两个MSSQL2MYSQL的GUI工具,这两个工具都是比较简单,我简单的说一下参数,MSSQL和MYSQL数据库的链接参数我想都会的,那个drop database参数大概是说在转换前先删除MYSQL中的该数据库,然后再做转换,就是为了干净嘛,所以如果转换到已经存在的数据库中的话就需要注意了,verbosity其实就是output选项,是转换到数据库呢还是输出为SQL文件呢?

====================
更新:有可能会提示无法连接MYSQL,此部分可能和你装的MYSQL ODBC有关系,因为默认的设置文字好像有问题,我把ODBC版本设置为“MySQL ODBC 5.1 Driver”,这样就可以连接了。可能新版本的MYSQL ODBC已经有所更新而代码中还是旧版本的所以不支持吧。

1为输出文件,0为直接导入到MYSQL,其余没有什么好说的,字符编码一般我想也都用UTF-8吧。其余就自己琢磨吧。

关于MSSQL2MYSQL的效率,真是让我大失所望,可以说虽然找到了这样的方法,但是真正的转换不仅仅是痛苦。上面的MSSQL2MYSQL代码转换方法,效率大概是1小时5000条记录,而使用Access Export,好像也没有快多少。要知道我600万条记录,那要我转换到猴年马月?疯掉。

看来还得想其他办法。不过话又说回来,我将600万条记录使用BCP映射的方法导入到SQL SERVER中,大概也要半个多小时,而使用SQL SERVER的导出功能将数据库导出为ACCESS,时间也不短,最后等的没有耐心只好开着电脑就去睡觉了。

这大概就是我现阶段所尝试的MSSQL2MYSQL数据库的方法吧,如果有朋友有更好更快的方法,请务必告知一声,谢谢更新:有可能会提示无法连接MYSQL,此部分可能和你装的MYSQL ODBC有关系,因为默认的设置文字好像有问题,我把ODBC版本设置为“MySQL ODBC 5.1 Driver”,这样就可以连接了。可能新版本的MYSQL ODBC已经有所更新而代码中还是旧版本的所以不支持吧。

) ,对于这个问题了很早就有想解决的年头了,但是到现在...