【发布时间】:2010-11-30 00:07:06
【问题描述】:
我正在处理一个项目 atm,我需要将存储在 MS ACCESS 数据库中的数据导入到 mySql。对于 mySql,我在 Ubuntu 机器上使用 phpMyAdmin,我有另一台 Windows 机器,可以从中访问 Access DB,在 MS Access 2003 中,我找不到将数据转换为 mySql 的选项?这个可以吗?
【问题讨论】:
我正在处理一个项目 atm,我需要将存储在 MS ACCESS 数据库中的数据导入到 mySql。对于 mySql,我在 Ubuntu 机器上使用 phpMyAdmin,我有另一台 Windows 机器,可以从中访问 Access DB,在 MS Access 2003 中,我找不到将数据转换为 mySql 的选项?这个可以吗?
【问题讨论】:
看看Access to MySQL。可以轻松地将 Access 数据库转换为 MySQL。
【讨论】:
通过在 Access 中选择一个表并简单地从“文件”菜单中选择“导出”,始终可以从 Access 快速而肮脏地导出到任何 ODBC 数据库。导出选项之一(在底部的下拉列表中)是 ODBC,如果您为其他数据库设置了 DSN,则可以直接导出。显然,数据类型不一定适合目标数据库,但它不会错误转换任何数据——您可能只需要在导出后收紧数据类型。
说实话,我认为 Access 可以做到这一点令人惊讶,但它确实有效。
【讨论】:
在 web 服务器上使用 MySQL 数据库运行 Access 前端应用程序的分步指南(您不需要导入表,您可以在 web 服务器上使用您的 msaccess 应用程序)并将 MsAccess 表导出到 MySQL(一旦您开始路径,你希望它是一条双向的道路,相信我):
如果你正在运行 MsAccess,我想你正在使用 windows
根据您的服务器,您可能很难找到服务器名称或 IP,寻找 SSH 数据库连接(或类似的东西)。例如,阅读 NetSol 的常见问题解答:http://www.networksolutions.com/support/how-to-back-up-the-mysql-database-using-ssh/
如果你想从 MsAccess 批量导出/转储到 MySQL,你可以在 access 中创建一个 FORM,在上面放一个按钮,然后在 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”(适用于法语)。
导入:在 MsAccess 中: 1. 文件 2. 外部数据源 3. 链接表
MsAccess 前端并不真正关心它使用的是什么数据库引擎,因此安全的做法是拥有 2 个独立的 MDB:查询、表单、宏等和原始数据。这样,您可以从使用本地数据库无缝切换到远程服务器。并且您的核心应用程序文件不包含正确的数据。
【讨论】: