簡體   English   中英

數據庫備份

[英]Database Backup

情境

我想從7個客戶端數據庫備份到1個服務器數據庫。 我不知道db {服務器或客戶端db}的結構。 這兩個數據庫都有舊數據。 現在,我必須使該工具為此備份。 並且也應該備份舊數據[如果對舊數據進行了任何更新。]請幫助找到解決方案。 1.我該如何解決這個問題。 2.未指定數據庫,可能是MS Access或Sql Server2005。3.我可以在其中實現此目標[我正在考慮在c#中完成]

請幫助我找到解決方案

我不確定您為什么要這樣處理-如果您只是嘗試復制客戶端數據庫(我認為這是“基於文件”),那么為什么不簡單地將其文件副本作為文件的一部分呢?更廣泛的備份策略?

如果您編寫備份內容以將所有數據放置在基於服務器的RDBMS中,那么以后您還必須考慮如何還原該信息-可能意味着需要更多的編碼。

所以-我認為這不是一個好主意,但是如果您下定決心,我將首先編寫一個類(幾乎是抽象的),專門用於讀取客戶端數據庫的結構(表,字段) ,觀看次數等)。 然后,我將從中繼承來獲得一個特定的類,以針對每種單獨類型的客戶端數據庫執行此操作。 一旦有了這些,就可以使用ADO.Net從Client DB中的表中讀取值,用信息填充數據表,然后將該信息寫回到基於Server的DB中。

盡管我不喜歡這個主意,但我真的不能足夠強調-它似乎過於復雜,也不會處理函數等。

反正祝你好運

馬丁

除了這樣做,建議為該問題的特定子集提供一個簡單的答案,即為目標SQL Server(或任何服務器數據庫)創建DSN,並在Access中逐表導出到DSN。 您可以通過Access UI來執行此操作,並且可以在Access中使用DoCmd.TransferDatabase將其自動化。 弄清楚正確的連接字符串可能有點麻煩,並且您還需要對重命名導出的表進行一些操作,以使數據庫之間沒有沖突,但是可以通過一些VBA代碼輕松地解決。

我之所以發表這篇文章,僅是因為許多人忽略了導出到ODBC DSN的訪問功能,該功能不需要編寫DDL等。 但是,它可能會或可能不會對目標數據類型做出正確的選擇,因此您必須在任何特定情況下查看它是否足夠好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM