首先,我很抱歉,如果這已被問及或是一個微不足道的問題。我可以使用Microsoft Access連接兩個外部數據庫嗎?
但是,是否可以通過Microsoft Access連接到兩個外部SQL數據庫?
通過背景的方式之一是我們的CRM和一個是我們的電子郵件管理系統。這兩個是完全不同的數據庫。並駐留在不同的物理和虛擬服務器上。
我們的目標是能夠深入瞭解我們的電子郵件營銷工作,因爲它涉及我們的CRM中捕獲的客戶活動。
我們目前使用ODBC連接從我們的CRM數據庫讀取數據。
首先,我很抱歉,如果這已被問及或是一個微不足道的問題。我可以使用Microsoft Access連接兩個外部數據庫嗎?
但是,是否可以通過Microsoft Access連接到兩個外部SQL數據庫?
通過背景的方式之一是我們的CRM和一個是我們的電子郵件管理系統。這兩個是完全不同的數據庫。並駐留在不同的物理和虛擬服務器上。
我們的目標是能夠深入瞭解我們的電子郵件營銷工作,因爲它涉及我們的CRM中捕獲的客戶活動。
我們目前使用ODBC連接從我們的CRM數據庫讀取數據。
真的,我們需要更多的信息,但基本上是有可能的。您只需鏈接到SQL數據庫中的表格,然後使用JOIN在鏈接表上運行查詢。 該頁面將告訴你如何鏈接到一個SQL表:http://office.microsoft.com/en-au/access-help/import-or-link-to-sql-server-data-HA010200494.aspx
這是可能這樣做在MS Access (如牧田的答案已經說過)。
但是這樣你不會得到最大的性能,因爲你的機器上的MS Access造成了一定的開銷(與DB服務器相比相對較慢,並且網絡連接可能比DB服務器慢),通過網絡從兩個不同的DB服務器提取數據。
由於您使用sql-server標記了您的問題,因此還有另一種使用SQL Server功能的可能解決方案:linked servers。
您可以創建SQL Server中的鏈接服務器,鏈接到SQL服務器B.
(見上面的鏈接瞭解如何做到這一點的詳細信息)
然後,您可以查詢SQL表從SQL Server A服務器B (甚至加入從兩個服務器表)使用以下語法:
-- execute this on Server A
use DatabaseA
select *
from TableA a
inner join ServerB.DatabaseB.dbo.TableB b on a.ID = b.ID
(此代碼假定TableA
是在DatabaseA
一個表,它是上ServerA
,等等)
這將是比在MS Access 鏈接表更快方式(更多的數據,你需要拉得越快將是)因爲你使用的CPU優越數據庫服務器的電源和網絡連接。
除非我錯了,你想要使用Access並且只是鏈接到兩個不同數據庫中的表?是的,我們已經做了很多次了。你爲什麼不在問之前嘗試一下呢? –
您可以*輕鬆連接兩個不同的數據源(A和B);但是你是否試圖在* Access中橋接數據源(所以A可以通過Access訪問B *)或者只是*消耗兩個源(A和B)*? – user2864740