【问题标题】:How to use connection string in ODBC to create a table in Access permanently linked to a SQL source?如何使用 ODBC 中的连接字符串在 Access 中创建一个永久链接到 SQL 源的表?
【发布时间】:2015-07-15 22:31:03
【问题描述】:

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

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 设置为“否”,该表仍会尝试使用 Windows 身份验证。另外,当我在设计视图中打开表格时,我会在“描述”前面看到:

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

显然Access没有保存UID和PWD,也没有保存设置Trusted_Connection为“No”的指令。

我坚持使用连接字符串来完成此操作,并且使用 DSN 不适用于我的应用程序。非常感谢您的帮助。

【问题讨论】:

    标签: sql-server ms-access vba odbc ms-access-2007


    【解决方案1】:

    您需要将 dbAttachSavePWD-Attribute 添加到创建的表中,以将您的凭据与 Access 中的链接表一起存储。

    在添加 tabledef 之前,你应该输入这行代码:

    tblDef.Attributes = (tblDef.Attributes Or dbAttachSavePWD)
    

    【讨论】:

      猜你喜欢
      • 2011-06-06
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 2014-06-14
      • 1970-01-01
      相关资源
      最近更新 更多