我可以使用Microsoft Access连接两个外部数据库吗?

时间:2013-11-01 18:58:38

标签: sql sql-server ms-access odbc

首先,如果有人提出这个问题或者这是一个微不足道的问题,我会道歉。

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

可以在MS Access 中执行此操作(正如Makita的回答中所述)

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

由于您使用标记了问题,因此使用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功率和数据库服务器的网络连接。