2011-07-22 29 views
1

我的公司在IBM的Lotus DB中有一個數據庫。它被設計得很久。現在,合同正在結束,我們需要將其轉移到SQL Server。問題在於它是一個龐大的組織,而且由於這些數據庫非常陳舊......我們無法跟蹤設計它的人員。現在,我們只有使用蓮花數據庫構建的應用程序。有沒有一種方法可以將它遷移到SQL Server?是否有任何可用於將數據遷移到SQL Server的好工具?Lotus DB到SQL Server的遷移

+0

您確定,您的應用程序可以正確使用MSSQL而不是Lotus DB嗎?兩個數據庫都有不同的SQL語言方言。 – TcKs

回答

3

沒有工具可以將非關係型非結構化LN DB自動奇蹟般地轉換爲SQL模式。 Lotus Notes就像「NoSQL

由於Domino是非結構化的,您需要手動檢查這些視圖,這些視圖將爲您提供關於文檔之間的關係以及您需要應用哪些參照完整性約束的指示。您可以先查看視圖的排序順序以及他們正在使用的視圖公式。然後,您需要考慮表單設計中UI的複雜性以及如何複製它。

在許多情況下,您將需要創建自己的特定唯一密鑰。根據複雜性,這可能不是一個巨大的任務。當你看到關係設計和UI技術的大小來模仿Lotus Notes本身的功能時,真正的工作就會開始。

這是遷移數據的高級方法

1 /分析視圖並確定排序順序作爲鍵的指示。

2 /看看錶格,看看你需要輸出多少個字段。

3繪製數據和用戶界面的新設計。這將幫助您找到Lotus Notes數據和新系統功能之間的差距。

4設計將Lotus Notes中的文檔導出到平面文件中,或者可以在下一步中將它們直接加載到表中。

5將原始數據加載到一組用於數據清理的「分類」表中,因爲您會發現某些字段可能爲空或空。這些表通常沒有很多限制或規則,因爲Lotus Notes數據通常不符合它。所以考慮到它。您現在應該能夠識別數據中所有已知的空白,並進行調整以調整數據或更改最終設計。

7 /設計您的最終加載腳本,將數據從Triage移動到生產質量關係系統。

這是系統遷移的樂趣,也就是說,從一種技術到另一種技術,仍然給用戶相同的系統。當你向他們顯示與之相關的價格標籤時,用戶通常不會很好地把這個消息告訴給他們......

1

您的基本問題是Notes不是關係數據庫,因此您將樂於分析數據和設計MS SQL模式。 Google for NotesSQL是一個ODBC驅動程序,它使Notes視圖像RDBMS中的表一樣。如果你有一個理解lotusscript的人,你可以直接在db中編寫你自己的導出例程,但是從你的文章中我猜你不會。

最好的運氣:-)

1

一種簡單的方法來在SQL透視Lotus Notes數據庫是看到的文檔/形式作爲記錄和視圖,作爲表。每個文檔都有一個唯一的密鑰universalID。該密鑰有時被保存並用於鏈接文檔。 Lotus中唯一支持的關係是響應文檔結構。

NotesSQL ODBC驅動程序是一個選項,但是如果它是一個小數據庫,並且沒有許多視圖,則可以使用導出選項,或者甚至可以複製到表中。

如果這是涉及多個Lotus數據庫的大遷移,那麼您需要了解NoSQL/Lotus Notes概念以及可能的蓮花腳本。

理解文檔(記錄)沒有固定的定義很重要。表單用於填充文檔,但在任何文檔上都可能有額外的項目。您可以使用文檔屬性查看器調查單個文檔項目上的項目。

0

請記住,傳輸數據只是將應用程序用於MS SQL的一部分。 Notes/Domino應用程序將擁有其他邏輯,這些邏輯必須重寫,以便完成對您移動的數據充分的任何操作。

0

什麼合約正在結束? AFAIK您可以繼續使用您擁有的服務器軟件。另一種選擇是升級Domino服務器,以其穩定性而聞名。另一種選擇是通過文件/導出導出所需的數據,然後選擇CSV或其他某種類型。