【问题标题】:Can I connect two external databases using Microsoft Access?我可以使用 Microsoft Access 连接两个外部数据库吗?
【发布时间】:2013-11-01 18:58:37
【问题描述】:

首先,如果有人问过这个问题或者这是一个微不足道的问题,我深表歉意。

但是,是否可以通过 Microsoft Access 连接到两个外部 SQL 数据库?

作为背景,一个是我们的 CRM,一个是我们的电子邮件管理系统。两者是完全不同的数据库。而且,驻留在不同的物理和虚拟服务器中。

我们的目标是能够深入了解我们的电子邮件营销工作,因为它与我们 CRM 中捕获的客户活动相关。

我们目前使用 ODBC 连接从我们的 CRM 数据库中读取数据。

【问题讨论】:

  • 除非我弄错了,否则您想使用 Access 并仅链接到 2 个不同数据库中的表吗?是的,我们已经做过很多次了。为什么不先试一试?
  • 您可以轻松连接两个不同的数据源(A 和 B);但是您是要桥接数据源(以便A可以通过访问访问B)还是只是消耗两个数据源(A和B) 访问?

标签: sql sql-server ms-access odbc


【解决方案1】:

真的,我们需要更多信息,但基本上是的,这是可能的。您需要做的就是链接到 SQL 数据库中的表,然后使用 JOIN 对链接的表运行查询。 本页将告诉您如何链接到 SQL 表:http://office.microsoft.com/en-au/access-help/import-or-link-to-sql-server-data-HA010200494.aspx

【讨论】:

    【解决方案2】:

    可以在 MS Access 中做到这一点(正如 Makita 的回答中已经说过的那样)

    但是您不会以这种方式获得最大性能,因为您的机器上的 MS Access 会导致一定的开销(与 DB 服务器相比相对较慢,并且网络连接可能比 DB 慢服务器),通过网络从两个不同的数据库服务器中提取数据。

    由于您使用 标记了您的问题,因此还有另一种可能使用SQL Server 功能的解决方案:linked servers

    您可以在 SQL Server A 中创建链接服务器,链接到 SQL Server B。
    (有关如何执行此操作的更多信息,请参阅上面的链接)

    然后,您可以使用以下语法从 SQL Server A 查询 SQL Server B 上的表(甚至连接两个服务器的表)

    -- execute this on Server A
    
    use DatabaseA
    
    select *
    from TableA a
    inner join ServerB.DatabaseB.dbo.TableB b on a.ID = b.ID
    

    (此代码假定TableADatabaseA 中的一个表,它位于ServerA 上,依此类推)

    这将比链接 MS Access 中的表方式(您需要提取的数据越多,速度就越快),因为您使用的是卓越的 CPU 能力和数据库服务器的网络连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 2015-05-17
      • 1970-01-01
      • 2018-03-11
      相关资源
      最近更新 更多