如何使用ODBC中的连接字符串在访问中永久链接到SQL源中的表



我在访问前端应用程序中创建了一个表,并尝试使用以下子例程将其连接到后端数据库:

Sub createFlowTable()
Dim db As Database
Dim tblDef As TableDef
Set db = CurrentDb
Set tblDef = db.CreateTableDef("myTable")
tblDef.Connect = "ODBC;DRIVER=SQL Server;SERVER=myServer; Trusted_Connection=No;UID=<myUID>;PWD=<myPWD>;APP=2007 Microsoft Office system;DATABASE=myDataBase;Network=DBMSSOCN;TABLE=dbo.myTable"
tblDef.SourceTableName = "mySourceTableName"
db.TableDefs.Append tblDef
End Sub

关闭前端访问数据库并重新打开它后,表将无法打开。即使我将trusted_connection设置为字符串中的" no",该表仍在尝试使用Windows身份验证。另外,当我在设计视图上打开桌子时,我会在"描述"前看到:

ODBC;DRIVER=SQL Server;Server=myServer;APP=2007 Microsoft Office System;DATABASE=myDatabase;Network=DBMSSOCN;Table=dbo.myTable

因此,显然访问并未保存UID和PWD,也没有保存将Trusted_connection设置为"否"的指令。

我坚持使用连接字符串来完成此操作,并且使用DSN将无法用于我的应用程序。帮助您将不胜感激。

您需要将dbattachsavepwd-atibute添加到创建的表格中,以将您的凭据存储在访问中的链接表中。

在添加tableedef之前,您应该将此代码行放置:

tblDef.Attributes = (tblDef.Attributes Or dbAttachSavePWD)

最新更新