通过Vba将Access Db连接到Mysql

时间:2015-06-04 17:40:53

标签: mysql vba server

我一直在尝试将mysql databasems Access联系起来,但没有结果。我个人认为我没有正确使用DAo.Connectionworkspace。设置mySqlCon时,我一直收到3001连接错误。我想我的论点没有正确设置,但我跟随here的一个例子。

Function connectingMySql()
   Dim mySqlCon As Dao.Connection
   Dim wrkODBC As Workspace

   Set wrkODBC = CreateWorkspace("newODBCWorkspace", "admin", "", dbUseODBC)

   Set mySqlCon = wrkODBC.OpenConnection("connection1", , , "DRIVER={MYSQL ODBC 5.1 DRIVER};" _
   & "SERVER=testserver.com;port=3306;" _
   & "DATABASE=test;" _
   & "USER=root;" _
   & "PASSWORD=pass;" _
   & "Option=3;")
End Function

更多信息:

  • 运行Ms Access 2003

2 个答案:

答案 0 :(得分:1)

MSDN page表示使用dbUseODBC会导致运行时错误。

  

Microsoft Access 2010不支持ODBCDirect工作空间。将类型参数设置为dbUseODBC将导致运行时错误。如果要在不使用Microsoft Access数据库引擎的情况下访问外部数据源,请使用ADO。

尝试Set wrkODBC = CreateWorkspace("newODBCWorkspace", "admin", "")

答案 1 :(得分:0)

经过多次努力,我修好了它。基本上我的论点哪里错了。现在我得到一个连接错误,这意味着参数错误已得到修复。

Function connectingMySql()
   Dim mySqlCon As Dao.Connection
   Dim wrkODBC As Workspace

   Set wrkODBC = CreateWorkspace("newODBCWorkspace", "admin", "", dbUseODBC)

   Set mySqlCon = wrkODBC.OpenConnection("DRIVER={MYSQL ODBC 5.1 DRIVER};" _
   & "SERVER=testserver.com;port=3306;" _
   & "DATABASE=test;" _
   & "USER=root;" _
   & "PASSWORD=pass;" _
   & "Option=3;")
End Function