我正在寻找一种将一些MySql表导出到MsAccess DB的其他表中的方法(我指的是一百万条记录表.)
我唯一想到的两种方法是:
。
我发现,第一种方法对数据完整性来说更快,但安全性较低,而第二种方法对于数据完整性来说是完美的,但是非常缓慢.有人知道其他方法吗?
谢谢A.
发布于 2012-02-26 21:18:03
一步一步地指导在webserver上运行带有MySQL数据库的Access前端应用程序(您不需要导入表,您可以在step服务器上与它们一起使用msaccess应用程序):
如果您正在运行MsAccess,我想您使用的是windows
http://dev.mysql.com/downloads/connector/odbc/
根据服务器的不同,您可能很难找到服务器名或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()事件创建这个子表:
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”(适用于法语)。
发布于 2011-05-02 14:34:39
如果您对MySQL具有ODBC访问权限,并且您的服务器位于您的网络上,则可以从Access中导入其表。我认为菜单上的选择是“文件\ Get外部数据的导入”。
对于“类型文件”,选择"ODBC数据库“。您可能需要创建一个新的DSN名称。
我不记得ODBC驱动程序通常是安装默认的,还是单独安装的。我认为它们是默认安装的,但我可能错了。
发布于 2015-06-18 18:53:06
谢谢托尼给我的精彩的省时剧本。由于我用前缀"tbl“命名我的表,所以我修改了代码,所以它只会导出那些表(而不是奇怪的表):
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 Subhttps://stackoverflow.com/questions/5858366
复制相似问题