2012-02-29 49 views
0

上正如我已經張貼在this thread我需要保持同步的SQL Server(不僅SQL Server,如果你推薦哪個做同樣的事情的另一臺服務器)和VFP DBF表上的系統使用公司。執行querys以DBF文件的SQL Server

As @ alex-k表示,鏈接服務器不支持INSERT,UPDATEDELETE,但我需要CRUD語句才能使系統正常工作。我已經嘗試了@ alex-k的建議,但返回錯誤。

由於計算中的很多事情有不止一種方式,你對我的情況有什麼建議?

謝謝。

回答

1

我實際上剛剛在舊機器上安裝了SQL2008R2。成功創建鏈接服務器並從SQL中直接嘗試更新。進入相同的錯誤,它將無法正常工作。所以,我也環顧四周,在「tek-Tips」論壇上發現了一些問題,這些論壇打開了一個應用更新的行,通過this link

當試圖這樣做時,我得到了下面列出的後續錯誤。

SQL Server阻止訪問組件'Ad Hoc Distributed Queries'的STATEMENT'OpenRowset/OpenDatasource',因爲此組件作爲此服務器的安全配置的一部分被關閉。系統管理員可以使用sp_configure啓用'Ad Hoc Distributed Queries'。有關啓用「Ad Hoc分佈式查詢」的更多信息,請參閱SQL Server聯機叢書中的「表面區域配置」。

因爲我不想與安全性,開拓功能,即使在機器上只爲樣本的目的,你可能是啓用/禁用此功能,並試圖從TEK-提示的建議更加開放...

否則祝你好運。

0

今天DBF文件沒有得到廣泛的支持。據我所知,Microsoft Access仍支持應與VFP DBF兼容的dBASE DBF文件。

您可以在MS Access中構建某種類型的網關,負責同步VFP和SQL Server數據庫。

0

自從他們在阿波羅之前的日子以來,我還沒有使用它們(我們稱之爲成功軟件或SDE),但是這家公司可能會有一些幫助。使用其他可以讀寫dbfs的解決方案遇到的問題是,它們可能無法使索引文件保持最新狀態(cdx,ndx等)。如果他們沒有幫助的驅動程序,那麼您可能不得不求助於創建擴展存儲過程來本地調用其接口。希望你不必訴諸於此。

-don

+0

好吧。我剛剛嘗試過SQL Server並執行了一些命令來測試他的功能。當他插入新記錄時,他會自動更新索引文件,但按照我在互聯網上看到的方式,如何將他連接到BDF文件,他不能「更新」或「刪除」。Apollo解決方案作爲一個守護進程或需要包含在應用程序中? – 2012-03-01 12:40:34

0

您是否考慮過構建一個小的Visual FoxPro應用程序來執行此操作。 Visual FoxPro可以讀寫SQL Server和DBF。我們已經做了很多次了。關鍵是要了解哪些記錄已更改,並在兩組數據上使用代理主鍵。

Rick

+0

但是,如果我們這樣做,我們將不得不保留一些cron來檢查對SQL Server和DBF表的修改。我們如何逐步遷移系統可能會發生一段時間,會有兩個或兩個以上的人同時訪問同一個表(在VFP和Java應用程序中),這樣會降低完整性。或者我錯了? – 2012-03-01 18:06:14

+0

是的,必須有一些信息告訴過程檢查數據並進行更新。在我看來,這有雙向更新需要考慮(例如更新必須在SQL Server中更新事務的VFP表,還有一些需要考慮的事情是構建自己的事務日誌以在另一個數據庫上處理,但訣竅在於解決兩個系統上的人員在不同數據庫中更新同一記錄時不可避免的衝突。數據對時間敏感如何?在另一個數據庫中它有多長時間會過期? – 2012-03-01 18:54:35