2009-09-21 229 views
5

我正在开发一个项目atm,并且需要将存储在MS ACCESS数据库中的数据导入到mySql中。对于mySql我在Ubuntu机器上使用phpMyAdmin,我有另一台Windows机器,我可以访问Access数据库,在MS Access 2003中我找不到将数据转换为mySql的选项?这可以做到吗?将MS ACCESS DB导入mySql?

+0

与此相关的:http://stackoverflow.com/questions/4809654/how-to-import-a-mdbaccess-database-to-mysql/11644195#11644195 – Jacob 2012-08-01 06:38:07

回答

2

通过在Access中选择一个表格并从文件菜单中简单地选择EXPORT,从Access到任何ODBC数据库都可以进行快速和脏的导出。其中一个导出选项(在底部的下拉列表中)是ODBC,如果您为其他数据库设置了DSN,则可以直接导出。显然,数据类型对于目标数据库来说不一定是完美的,但它不会错误地转换任何数据 - 在导出之后,您可能需要收紧数据类型。

我认为Access可以做到这一点令人惊讶,说实话,但它的工作原理。

1

分步指南在Web服务器上运行带有MySQL数据库的Access前端应用程序(您不需要IMPORT表,您可以在web服务器上使用msaccess应用程序)并将MsAccess表导出到MySQL(一旦启动这条道路,你希望它是一个双向的道路,相信我):

如果您正在运行MSACCESS,我想你使用的是Windows

  1. 安装MySQL ODBC 5.1驱动程序(连接器)http://dev.mysql.com/downloads/connector/odbc/
  2. 在赢机器上打开控制面板
  3. 管理工具(如Vista或七,搜索ODBC)
  4. 设置数据源ODBC
  5. 系统DSN
  6. ADD

根据您的服务器,你可能有一些很难找到服务器名称或IP,查找SSH数据库连接(或类似的东西)。作为例子,请阅读NetSol的常见问题解答:http://www.networksolutions.com/support/how-to-back-up-the-mysql-database-using-ssh/

如果你想从MsAccess的BATCH EXPORT/DUMP到MySQL,你可以在访问时创建一个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 

有时,在运行非英文Windows可能会得到错误2507变“ODBC数据库”为“ODBC”(可与法语)。

IMPORTING:在MSACCESS: 1.文件 2.外部数据源 3.链接表

并不真正关心它使用什么数据库引擎的前端MSACCESS,所以安全的做法是有2个独立的MDB的:查询,表单,宏等与原始数据。这样,您可以无缝地从使用本地数据库切换到远程服务器。并且您的核心应用程序文件不包含适当的数据。