我最近为客户开发了一个简单的 Access 2010 数据库。它是在没有 VBA 的情况下设计的,仅使用宏,因此不会触发任何安全警告。唯一的问题是它使用连接到 SQL Server Express 数据库的 ODBC 链接表,并且我需要一种方法来重置表的连接字符串,一旦安装在我的客户端计算机上。
我开发了一个简单的 VBscript,它遍历链接的表,将它们的名称复制到字典中,然后使用新的数据源重新创建表:
For Each key In tcmw.Keys
Set td = db.CreateTableDef(key)
td.Connect = "ODBC;Description=xxx;DRIVER=SQL Server;SERVER=xxx\SQLEXPRESS;DATABASE=TCM;User=xxx;Password=xxx;"
td.SourceTableName = key
db.TableDefs.Append td
Next
该脚本似乎可以工作,但是当我将鼠标悬停在链接表上时,我看到了以下数据源。它有Trusted_Connection=Yes
而不是指定的用户名和密码:
ODBC;Description=xxx;DRIVER=SQL Server;SERVER=xxx\SQLEXPRESS;Trusted_Connection=Yes
这不是我将数据源设置为的,我不确定为什么会发生这种情况。我是否缺少将用户名和密码保存在链接表定义中的步骤?