首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql转储或文本文件加载到microsoft access 2003

问将mysql转储或文本文件加载到microsoft access 2003
EN

Stack Overflow用户
提问于 2010-09-08 16:29:24
回答 3查看 6.6K关注 0票数 1

我不是MS Access的专家,我得到了一个文本文件,基本上有超过十万条记录,并已被要求加载到MS access数据库中的文本文件。据我所知,我首先使用普通的加载文本文件命令将该文本文件上传到MySQL数据库中,它就像预期的那样工作。然而,在Access 2003中,当我进入文件菜单获取外部数据并浏览文本文件时,它在我选择文件后什么也不做。

我尝试过通过SQL转储加载,我创建了一个表,切换到SQL查询,但我不能复制粘贴其中的所有insert命令,事实上,它显示值太大而无法输入,并且我不能一个接一个地粘贴,因为记录数很大。

有人能帮上忙吗?我会很感激的。

EN

回答 3

Stack Overflow用户

发布于 2010-09-09 06:23:07

我不清楚是什么原因导致您无法直接导入文本文件。您必须提供更多详细信息,说明您在Access中尝试了什么以及哪里出了问题。

但是,如果您已经在MySQL中获得了数据,并且想要从那里导入,请为您的MySQL数据库创建一个DSN,然后使用IMPORT from ODBC,指向该DSN,然后您就可以将表从MySQL导入到Access中。它还可以同时处理多个表。

票数 2
EN

Stack Overflow用户

发布于 2010-09-08 16:36:06

由于语法差异,您可能无法将mySQL转储直接导入Access。

一种方法是使用像HeidiSQL这样的图形工具将mySQL数据导出为CSV,这样应该很容易进入Access。

另一个想法是将转储文件导入mySQL,然后使用ODBC Connector.从Access访问mySQL

票数 1
EN

Stack Overflow用户

发布于 2010-09-08 17:26:12

这是一个文本文件,如制表符分隔的,还是逗号分隔的?

或者,这是一个sql命令文件吗?

对于从mySql中导出的文本文件,Access应该没有问题。但是,access不能直接使用sql命令的文本文件来插入数据。

您可以将文件导出为制表符分隔,或者如果可能,您甚至可以将access数据库直接链接到mySql服务器,并使用一些附加/生成表。

另一种方法是在本地计算机上安装mySql,让它读取sql脚本,然后导出为制表符或逗号文本文件,或者直接将访问链接到本地运行的MySql实例,并使用追加查询来提取数据。

但是,如果sql转储文件中每个sql命令都用;分隔,那么一小段VBA代码就可以读取这些sql命令。像这样的东西可能会起作用:

代码语言:javascript
复制
  Sub SqlScripts()

     Dim vSql()     As String
     Dim vSqls      As Variant
     Dim strSql     As String
     Dim intF       As Integer

     intF = FreeFile()
     Open "c:\sql.txt" For Input As #intF
     strSql = Input(LOF(intF), #intF)
     Close intF
     vSql = split(strSql, ";")

     On Error Resume Next
     For Each vSqls In vSql
        CurrentDb.Execute vSqls
        Debug.Print "--->" & vSqls
     Next


  End Sub

我建议使用制表符或逗号分隔的方法。当您执行file->get external data时,您应该看到一个向导启动,它允许导入一个文本(分隔)文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3665855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档