MS Access MySQL转换帮助(巨型表)
所以我有一个巨大的表,包含大约700万条记录,在MS Access(* .mdb)中,我希望将它转换为更可行的MySQL格式,并将其存储在我的网络服务器上.文件本身重2GB. 问题是,由于表格太大,它不会让我正常导出(Access表示限制是65,536条记录.) 我尝试了一些第三方软件,但无济于事. 任何人都可以推荐一种干净的方式,而不会损坏内部的数据? 在此先感谢您的帮助. 最佳答案 如果您还没有安装MySQL的ODBC驱动程序,请安装它.最新版本可在此处获取:Download Connector/ODBC从Windows ODBC数据源管理器为MySQL服务器创建DSN(数据源名称). 然后从Access 2003中,在“数据库”窗口中选择您的表,然后选择“文件” – >“从Access导出”主菜单.在“导出表’yourtablename’到…”对话框中,从“保存类型”下拉列表(位于对话框底部)中选择“ODBC数据库()”.下一个对话框允许您指定MySQL将用于导出表的名称,并且默认为Access表名.单击“确定”后,您将看到另一个对话框“选择数据源”,您可以在其中选择DSN for MySQL.在该对话框上单击“确定”后,您可能会再问一个用户名和密码.提供它们,然后单击“确定”. 希望你的表格会毫无错误地转移.但是,我从未使用MySQL进行过该操作.通过ODBC传输到SQL Server和PostGreSQL,它对我有用.所以我不明白为什么它也不适用于MySQL. 此外,我从未试图一次性出口700万条记录.如果它窒息,我们将不得不找出解决方法. 如果您使用的是Access 2007而不是2003,请从功能区的“导出”部分开始查找类似的选项. 我建议这种方法,因为我的印象是这个导出将是一次性交易,所以我认为Access UI导出方法将是最简单的.但是,您可以使用带有ODBC DSN的DoCmd.TransferDatabase Method对VBA代码执行基本相同的操作. 另一种方法是在MySQL中创建一个兼容的表结构,在Access目的表的Access中创建一个链接(再次使用你的DSN),然后从Access运行一个“追加查询”:
如果导出会在700万条记录上产生阻塞,那么追加查询方法会很有用.您可以添加WHERE子句以将SELECT查询的输出记录集限制为可管理的块大小,然后使用不同的WHERE重复以指定另一个块. (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |