【发布时间】:2015-10-23 16:11:49
【问题描述】:
我正在使用带有 Win7 Professional x64 的 MS Access 2007。 我必须连接到通过 ODBC v5.1 本地驱动程序传递的外部 MySQL 数据库。
通过 VBA,我可以成功连接到我的数据库,通过 Access,我可以打开链接的表并查看数据。
您可以在下面看到我用来创建链接表的代码。我不想使用DSN方式;我更喜欢司机的方式。
Dim CnnString As String
Dim tdf As DAO.TableDef
CnnString = "ODBC;DRIVER=MySQL ODBC 5.1 Driver;DATABASE=xxxx;OPTION=2048;PORT=0;SERVER=xxxxx;UID=xxxxx;PWD=xxxx;Connect Timeout=45; Command Timeout=90;"
Set tdf = CurrentDb.CreateTableDef("table1")
tdf.Connect = CnnString
tdf.SourceTableName = "table1"
CurrentDb.TableDefs.Append tdf
Set tdf = Nothing
当我退出我的 VBA/Access 应用程序并重新打开它时,链接表会出现在表列表中,但如果我双击它,会出现 ODBC 连接器窗口询问我 DSN 连接,我看不到数据并且我的应用程序不起作用。
我怎样才能永久连接到我的链接表?
提前致谢
【问题讨论】:
-
也许你应该使用
Port=3306;? -
重新打开数据库后,链接表显示什么Connect字符串? (设计视图 -> 属性)
-
@Gustav:我尝试过使用端口 3306,但它是一样的。连接正常,但在我退出并重新打开程序后,ODBC 连接器窗口仍然出现并且我的应用程序无法运行。
-
@Andre451:重新打开数据库后,连接字符串是我帖子中代码中使用的正确字符串:“ODBC;DRIVER={MYSQL ODBC 5.1 Driver};DATABASE=xxxx;OPTION=2048; PORT=3306;SERVER=xxx;连接超时=45;命令超时=90;;TABLE=table1