日期:2014-05-16  浏览次数:20658 次

从Access向mysql导入数据
项目需要定期将access里的数据自动导入到mysql;access里大概有十来张表的样子,总共的记录数大概是20w左右;
我实现的思路如下:
1. 逐行读取Access中的第一张表,并将每条记录组成一个sql语句,写入到一个临时的文件里;
2.当某个表读完之后,再用程序依次执行这个临时文件里的每一行(每行都是一个sql插入的语句),插入到mysql数据库对应的表里。
3.重复第一步,直到所有的用户表都被读取。

这样可以实现,但速度太慢,20w条记录40分钟都弄不完;
各位有什么好的建议没,谢谢了:)

------解决方案--------------------
可以直接在ACCESS中创建一个ODBC链接表到MYSQL,然后就可以直接 insert into link_table_mysql select * from accessTable
------解决方案--------------------
直接JETSQL:
SELECT * INTO t4 IN ODBC[ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=TMP;USER=root;Pwd=123;]
FROM T4;


------解决方案--------------------
我的代码:
SELECT * INTO t4 IN ODBC[ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=TMP;USER=root;Pwd=123;]
FROM T4;

你的:
SELECT * INTO IN ODBC [ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=test;USER=root;Pwd=12345;]FROM tb_testcase

检查一下

OR
SELECT * INTO [ODBC;Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=TMP;USER=root;Pwd=123;].T4
FROM T4;