2013-06-29 50 views
4

我正在創建一個具有兩個SQL Server數據庫的Windows應用程序。一個在應用程序/啓動路徑中,另一個在不同的驅動器中。SQL連接兩個不同的數據庫文件之間的查詢

我有兩個不同名稱的SQL Server數據庫文件。兩者都位於不同的位置。兩個數據庫中都有相同的表格。我想爲不同的數據庫在表之間創建一個連接查詢。

所以有可能嗎?如果是,那麼如何?這是我的第一個問題,在堆棧上流,所以請幫助我。

+0

他們是如何SQL Server如果你說文件駐留在兩個獨立的路徑中。 – logixologist

+0

它們有可能是Microsoft Access MDB – logixologist

+1

如果它們是真正的SQL Server,則只需在它們之間創建一個稱爲鏈接服務器的鏈接即可。這將允許您在兩臺服務器之間進行訪問。 – logixologist

回答

7

如果你的數據庫是在同一個SQL Server實例沒有必要創建鏈接的服務器(因爲它會傷害性能),您可以簡單地使用[DBName]。[Schema]。[TableName]引用表。 如果你有兩個文件相同的數據庫sql將爲你處理 如果你有2個實例比你可以創建鏈接服務器或處理應用程序(加入2個結果集)

+0

事實證明,他只有一個mdf和沒有SQL服務器。 – logixologist

+0

哦,你需要sql服務器來訪問該mdf,或者你可以嘗試打開sql mdf(用一些工具),並將十六進制表示轉換爲某種格式。但這樣做會很難而且很愚蠢:)! – dixpac

+0

是啊,從我讀的內容來看,它很難甚至從.MDF獲得SQL工作,所以你還需要一個.BAK文件。 – logixologist

1

據我所知,你不能直接訪問使用VB.NET的MDF文件。它需要是首先導入該MDF文件的SQL Server安裝程序。這也將是一個具有挑戰性的韃靼人,因爲你真的不能將SQL指向一個MDF文件。

http://www.daniweb.com/software-development/vbnet/threads/115645/connecting-to-an-.mdf-database

其他人所說的,你可以做到這一點。我建議獲得免費的SQL Server 2008 Express。 http://www.microsoft.com/en-us/download/details.aspx?id=23650

如果在安裝2臺服務器與鏈接服務器的所有你需要做的是

SELECT * FROM TableName t JOIN LinkedServerName.DatabaseName.dbo.TableName on ... 
+0

好吧,我會看到它。但有一件事你告訴我,在單個sql查詢中我們可以使用兩個不同的數據庫連接嗎? – Narendra

+0

要對數據執行真正的連接,只要將服務器連接在一起,就可以使用一條語句來完成該連接。如果你不能這樣做,另一個選擇是VB.NET中的兩個記錄集......從一個服務器調用一個並從另一個服務器調用一個。然後在VB.NET中完成這項工作。 – logixologist

+0

嘿,我推薦你的鏈接。有一個連接字符串overland.mdf。如果有這樣的兩個數據庫,那麼我們可以使用鏈接服務器嗎? – Narendra

相關問題