2015-05-06 33 views
1

我在訪問前端應用程序創建一個表,並嘗試將其與下面的子例程連接到後端數據庫:如何在ODBC中使用連接字符串在Access中創建一個永久鏈接到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 

後,我關閉前端Access數據庫,並在重新打開它,該表無法打開。即使我在我的字符串中將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將不適用於我的應用程序。幫助將不勝感激。

回答

3

您需要將dbAttachSavePWD-Attribute添加到創建的表中,以便將Access中的鏈接表的憑據存儲在Access中。

之前追加的TableDef你應該把下面這行代碼:

tblDef.Attributes = (tblDef.Attributes Or dbAttachSavePWD) 
+0

非常感謝您! – Kambiz

相關問題