ms-access中与mysql服务器的无DSN连接不记住用户名和密码
|
为了便于分发,我希望所有的mysql链接表都不含DSN。我还希望能够轻松地将表重新链接到其他服务器(出于测试目的),因此我正在用vba代码进行链接设置。这是我用来设置/刷新任何链接的代码:
Private Sub relink_mysql_tables(mysql_connection As String)
Dim db As Database
Set db = CurrentDb()
Dim tbldef As TableDef
For Each tbldef In db.TableDefs
If (tbldef.Attributes And TableDefAttributeEnum.dbAttachedODBC) Then
tbldef.Connect = mysql_connection
tbldef.RefreshLink
End If
Next
End Sub
我使用的mysql_connection字符串是:
DRIVER={MySQL ODBC 5.1 Driver};Server=myserver;Database=mydatabase;Uid=myusername;Pwd=mypassword;Option=3
这一切都很好,还不错,一切正常,直到我关闭ms-access并重新打开它。用户名和密码似乎被忘记了。例如,如果尝试打开链接表,则会看到ODBC连接器弹出窗口,要求我输入用户名和密码。
我注意到在运行上面的重新链接代码之后,如果将鼠标指针悬停在链接的表(在本例中为\'tender \'的表)上,它将显示当前的连接字符串,但省略了用户名和密码:
ODBC;DRIVER={MySQL ODBC 5.1 Driver};Server=myserver;Database=mydatabase;Option=3;TABLE=tender
我在其他地方读到,在连接字符串中添加\“; Persist Security Info = True \”可以,但是不行!下次我重新启动ms-access时,仍然忘记了用户名和密码。我当前的解决方案是每次启动数据库时都重新运行重新链接代码,但这对我来说似乎是不必要的开销。是一种用于访问链接表中的用户名和密码的访问方式吗?
顺便说一下,我正在使用Mysql5.5和Access2007。
没有找到相关结果
已邀请:
1 个回复
告耸
连接字符串与以前相同,但增加了前缀\“ ODBC; \”: