更新/修復或重新創建舊數據庫
我的雇主目前正在使用 Borland Visual dBase 5.5 中的數據庫建構,該數據庫已在 Windows 95 機器上執行了 20 年。我正試圖找出將這個數據庫帶入 21 世紀的最佳行動方案,但我對數據庫的了解充其量只是初學者,我正在尋求建議。原始設計師在完成它之前就中風了,這一事實使問題更加複雜。它的功能足以讓我的雇主使用它,並且他一直在使用解決方法來解決一些不能 100% 正確執行的事情。我還想實現許多生活質量功能。
我提出的目前選項:
- 將數據庫移動到我的 Win10 機器上的虛擬機,學習 Visual dBase 5.5 並嘗試修復所有無法正常工作的東西。優點:不會從頭開始。缺點:我對虛擬機的理解是,由於虛擬機作業系統是 Win 2000 之前的,因此將數據從虛擬機傳輸到主機會有困難。
- 學習更新的數據庫系統並重建數據庫,希望能夠導入現有數據。重新輸入數據是一種選擇。是我做的,我不想做,但我會做。優點:將在目前作業系統上執行,並且數據庫系統/軟體仍將得到支持。缺點:創建數據庫並可能重新輸入數據需要做更多的工作。
其他可能有用的資訊:
- 有多個數據庫,其中兩個各有 13,000 條記錄,目前每個數據庫每年新增 1,000-1,500 條記錄。
- 我們正在使用本機 Crystal Reports 直接列印文件,但如果可能的話,我希望能夠在列印之前編輯單個文件。
我有一些程式背景,主要是 C++,但沒有真正的數據庫創建/支持知識。但是,我願意深入研究我在這個項目上需要做的任何事情,只是不確定目前最好的路線是什麼。如果我需要重新開始,我也願意接受有關軟體/語言的建議。
任何建議都非常感謝!
顯然有名為“dBase”的軟體的更新副本,但它們似乎需要特別小心和金錢,才能在現代作業系統上執行。Visual dBase 5.5 本身提供了物件導向和事件驅動的程式,但我認為它可能主要基於一次處理數據文件(數據庫或“表”)中的一條記錄(行)。它提供數據儲存,以及使用者處理數據所需的程序。
現代等效系統可能包含單獨的程序,一個“數據庫伺服器”,其功能只是可靠地儲存數據並根據需要輸出它,以及一個“客戶端”或“前端”,它以使用者友好的方式呈現數據,通常使用在伺服器上發送和檢索數據的“SQL”語言(通常按集合,而不是單個行)。另一類工具,有時是昂貴的工具,是“報告”。
要問的問題包括:有多少人需要同時使用數據?如果不止一個,那麼客戶端和伺服器解決方案可能是最好的。如果有的話,您也許可以在 Microsoft Excel 中完成所有操作。
您的雇主可能能夠購買滿足您行業需求的數據庫應用程序,並省去重新學習您擁有的應用程序或編寫自己的應用程序的工作——您的時間大概也需要花錢。但它不會便宜。購買可能基於此處已知的行業標準數據庫伺服器之一,您可能可以將數據轉換為系統可以接受的形式。該工具可能會為只有您的雇主考慮儲存的數據提供可定義的欄位。
因此,您可以首先為您的行業確定任何合適的數據庫產品,找出他們可能使用的數據庫伺服器,以及該伺服器是廉價還是免費下載以供試用 - 然後首先,獲取該伺服器,然後嘗試以您的方式將數據的初始副本導入伺服器。如果您認為可以的話,這應該會促使您轉換數據以用於新的數據庫產品,或者再次編寫自己的程序。如果這個練習不起作用,那麼,請查看不同的軟體和伺服器包 - 或考慮聘請數據庫顧問來幫助您。
但是如果你迫切需要更換現有系統,那麼使用更新版本的 dBase 可能會更容易,畢竟。它不會是與你所擁有的完全相同的系統,但我懷疑它並不代表二十年的進步……所以也許它畢竟不會有太大的不同。
Perl
使用XBase。許多至少在 Unix 方面的 DBA 都具備 Perl 和 C 技能。甚至還有一個SQL 抽象層來訪問它。應該很容易。
它支持版本 5 dBase。
dbfdump
如果您需要一種簡單的方法來獲取 csv,該模組會提供。