首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql表导出到ms访问表的最快/安全方法

将mysql表导出到ms访问表的最快/安全方法
EN

Stack Overflow用户
提问于 2011-05-02 14:26:59
回答 3查看 2.3K关注 0票数 1

我正在寻找一种将一些MySql表导出到MsAccess DB的其他表中的方法(我指的是一百万条记录表.)

我唯一想到的两种方法是:

  1. 从myadmin或toad导出csv文件,然后将其导入access DB.
  2. ,直接从蟾蜍生成"Access数据库导出“

我发现,第一种方法对数据完整性来说更快,但安全性较低,而第二种方法对于数据完整性来说是完美的,但是非常缓慢.有人知道其他方法吗?

谢谢A.

EN

回答 3

Stack Overflow用户

发布于 2012-02-26 21:18:03

一步一步地指导在webserver上运行带有MySQL数据库的Access前端应用程序(您不需要导入表,您可以在step服务器上与它们一起使用msaccess应用程序):

如果您正在运行MsAccess,我想您使用的是windows

http://dev.mysql.com/downloads/connector/odbc/

  • Open

  • 安装MySQL ODBCD5.1驱动程序(连接器) win machine

  • ADMINISTRATIVE TOOLS上的控制面板(如果Vista或search )
  1. 设置数据源ODBC
  2. SYSTEM DSN
  3. ADD

根据服务器的不同,您可能很难找到服务器名或IP,查找SSH数据库连接(或类似的内容)。例如,阅读NetSol的FAQ:http://www.networksolutions.com/support/how-to-back-up-the-mysql-database-using-ssh/

一旦你这样做了,在MsAccess: 1.文件2.外部数据源3.链接表中

如果您想从MySQL导出到MsAccess,您可以在access中创建一个表单,在上面放置一个按钮,并在VBA中为OnClick()事件创建这个子表:

代码语言:javascript
复制
Dim sTblNm As String
Dim sTypExprt As String
Dim sCnxnStr As String, vStTime As Variant
Dim db As Database, tbldef As DAO.TableDef

On Error GoTo ExportTbls_Error

sTypExprt = "ODBC Database"
sCnxnStr = "ODBC;DSN=DSNname;UID=userOnServer;PWD=pwdOnServer"
vStTime = Timer
Application.Echo False, "Visual Basic code is executing."

Set db = CurrentDb()

For Each tbldef In db.TableDefs
Debug.Print tbldef.Name
sTblNm = tbldef.Name
DoCmd.TransferDatabase acExport, sTypExprt, sCnxnStr, acTable, sTblNm, sTblNm
Next tbldef

MsgBox "Done!"
On Error GoTo 0
SmoothExit_ExportTbls:
Set db = Nothing
Application.Echo True
Exit Sub

ExportTbls_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure ExportTblsODST"
Resume SmoothExit_ExportTbls

有时,在运行非英语窗口时,可能会出现错误2507,将"ODBC数据库“更改为"ODBC”(适用于法语)。

票数 2
EN

Stack Overflow用户

发布于 2011-05-02 14:34:39

如果您对MySQL具有ODBC访问权限,并且您的服务器位于您的网络上,则可以从Access中导入其表。我认为菜单上的选择是“文件\ Get外部数据的导入”。

对于“类型文件”,选择"ODBC数据库“。您可能需要创建一个新的DSN名称。

我不记得ODBC驱动程序通常是安装默认的,还是单独安装的。我认为它们是默认安装的,但我可能错了。

票数 1
EN

Stack Overflow用户

发布于 2015-06-18 18:53:06

谢谢托尼给我的精彩的省时剧本。由于我用前缀"tbl“命名我的表,所以我修改了代码,所以它只会导出那些表(而不是奇怪的表):

代码语言:javascript
复制
Private Sub Command0_Click()
Dim sTblNm As String
Dim sTypExprt As String
Dim sCnxnStr As String, vStTime As Variant
Dim db As Database, tbldef As DAO.TableDef
Dim str As String

On Error GoTo ExportTbls_Error

sTypExprt = "ODBC Database"
sCnxnStr = "ODBC;DSN=proxmox decaoriginal;UID=matantan;PWD=majadero5"
vStTime = Timer
Application.Echo False, "Visual Basic code is executing."

str = "tbl"

Set db = CurrentDb()

For Each tbldef In db.TableDefs
Debug.Print tbldef.Name
If Left(tbldef.Name, 3) = str Then
sTblNm = tbldef.Name
DoCmd.TransferDatabase acExport, sTypExprt, sCnxnStr, acTable, sTblNm, sTblNm
Else
End If
Next tbldef

MsgBox "Done!"
On Error GoTo 0
SmoothExit_ExportTbls:
Set db = Nothing
Application.Echo True
Exit Sub

ExportTbls_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure  ExportTblsODST"
Resume SmoothExit_ExportTbls
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5858366

复制
相关文章

相似问题

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