2011-09-13 34 views
1

我目前有兩臺服務器。一個是帶有.dbf文件的服務器,它經常更新,另一個是帶有SQL Server工作組版的服務器。從遠程.dbf文件更新SQL服務器

問題:我需要從這些遠程.dbf文件更新SQL Server表,它是如何完成的?我需要這些文件每隔X小時自動從服務器上拉出來。

已有的研究結果:

我相信,我懂得如何具有相同的服務器SQL Server數據庫.dbf文件更新的表,你可以使用隨SQL Server提供的DTS管理工作室。我不相信這個解決方案會試圖從遠程獲取這些.dbf文件。我查看了一個鏈接服務器,但不明白這是什麼。這些.dbf文件來自一個可視化的foxpro服務器。據我所知,visual foxpro沒有像SQL這樣的界面?如果任何人有任何建議,以指向我正確的方向,這將不勝感激。我通常可以找到答案,但在這個問題上感到非常無奈......先感謝您爲解決此問題所做的任何努力。

+0

服務器是否聯網在一起,如果可以,您可以通過網絡連接到.dbf文件嗎? – mellamokb

+0

這些服務器沒有聯網在一起,一個是去爸爸專用服務器,另一個是在別處的專用服務器 – Marrs

回答

3

鏈接服務器基本上只是一個指針,可以讓數據庫中的代碼與外部數據源交互,就好像它們也在數據庫/實例中一樣。有一些例子在這裏創建鏈接服務器到FoxPro dBFS的:

http://fox.wikis.com/wc.dll?Wiki~VisualFoxProDataFromSQLServer

因此,舉例來說,如果你有一個鏈接的服務器稱爲MyFoxProDB FoxPro數據庫,你可以運行SQL Server中的查詢是這樣的:

UPDATE t 
    SET t.foo = x.bar 
    FROM dbo.LocalTable AS t 
    INNER JOIN MyFoxProDB...TableName AS x 
    ON t.key = x.key; 

在這個問題說明你也可以考慮使用OPENROWSET

Import DBF files into Sql Server

(但我個人認爲鏈接的服務器會更加靈活)。

+0

謝謝你的偉大快速發佈。我認爲這對你來說更加清晰,但我認爲我仍然對服務器的實際物理連接感到困惑。 。 。像不應該有一個連接字符串或這種性質的東西?我真的不明白如何連接到該服務器。我是否需要將所有遠程登錄刪除到VFP數據庫,以便它可以使鏈接發生? – Marrs

+0

「連接字符串」是鏈接服務器設置的一部分 - 您只需要建立一次,然後SQL Server從此開始進行協商。我承認我對FoxPro有零字體驗,所以我沒有完全意識到那裏的安全模型,或者你是否在詢問併發性...... –

+0

@Mootz - FoxPro是一個文件數據庫和*物理連接*到服務器是一個文件共享,您直接實際使用.dbf文件。如果使用鏈接服務器或SSIS,則沒有區別,必須通過共享訪問文件。 –