链接表ms访问2010更改连接字符串

时间:2012-09-26 16:31:39

标签: ms-access

我正在开发一个现有的MS Access 2010项目,该项目具有到Sql Server数据库的链接表链接。

当我鼠标移到链接表时,我可以看到连接字符串'ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user'

这看起来像一个无dsn链表。

问题

  1. 连接字符串位于何处?如何更改它(示例数据库名称)?

  2. 如何创建类似的无dsn链接表?任何时候我创建一个链接表Access 2010总是强迫我选择\创建一个dsn(文件或机器)。

2 个答案:

答案 0 :(得分:28)

打印所有连接字符串:

Dim tdf As TableDef
Dim db As Database

    Set db = CurrentDb

    For Each tdf In CurrentDb.TableDefs
        If tdf.Connect <> vbNullString Then
           Debug.Print tdf.Name; " -- "; tdf.SourceTableName; " -- "; tdf.Connect
        End If
    Next

创建链接表:

With CurrentDb
    ''If the table does not have a unique index, you will need to create one
    ''if you wish to update.
    Set tdf = .CreateTableDef("LocalName")
    tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
      & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
    tdf.SourceTableName = "TABLE_NAME"
    .TableDefs.Append tdf
    .TableDefs.Refresh
End With

更改链接:

    Set db = CurrentDB
    Set tdf = db.TableDefs("MyTable")
    tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
      & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user"
    tdf.RefreshLink

答案 1 :(得分:21)

您可以使用以下指南(Original Source)更改连接字符串。

首先,获取现有的连接字符串。

  1. 打开MS Access
  2. 右键单击曾经工作的表格,或者您确定可以使用,并选择“设计视图”。
  3. 在警告屏幕上选择是以继续
  4. 如果在右侧没有表格的属性窗口,请在功能区(Access 2010)上单击“属性表”
  5. 这会显示一个Description属性 - 复制它在该属性中的所有内容并将其粘贴到记事本或某个地方以供日后使用。
  6. 其次更新连接字符串。

    1. 单击功能区中的外部数据,然后选择“链接表管理器”
      1. 单击“始终提示新位置”复选框 - 这是一种向用户询问是否需要更改连接信息的复杂方法
      2. 单击全选按钮或选择要使用复选标记更新的表
      3. 点击确定
    2. 出现一个对话框。单击新建
      1. 选择SQL Server作为驱动程序
      2. 单击“高级按钮”
      3. 将所有内容粘贴到记事本中
        • 除了删除TABLE = ...填充到下一个分号。
        • 更改服务器名称
        • 点击确定
      4. 然后会提示您将所有这些保存到文件中以供日后使用。在连接文件夹中填写“我的文档”中的一个位置 - 或者更好的是在网络位置以供其他人稍后使用
      5. 单击“确定”几次
      6. 现在,Access将使用新的DSN(连接详细信息)字符串替换所有表。