1

我的客戶端正在使用Advantage Database Server並希望遷移到SQL Server,但顯然希望將其所有客戶端數據作爲升級到SQL Server的一部分。將數據從Advantage Database Server傳輸到SQL Server

我想過編寫一個應用程序來完成轉移,但認爲它可能比它的價值更麻煩。

你會推薦什麼?

回答

1

我在開發應用程序的同時在sql server和優勢服務器之間切換,我主要使用sql server management studio中的導入數據功能來執行此操作。基本上使用oledb驅動程序創建數據庫並導入數據以獲取優勢 - 可從優勢數據庫網站獲取。嘗試this link瞭解更多信息。再回去有點詭計....但那是另一回事。

如果這只是一次性轉移,應該做的伎倆,你將有一個相當程度的控制轉讓。需要警告的是,有關PK和數據關係的信息可能無法在傳輸過程中保留下來,因爲至少在adt/adi文件中,數據庫服務器並不記錄表之間的關係。如果他們想保持優勢數據庫的運行,並保留兩個數據庫中的數據副本,我還沒有嘗試過。在這種情況下,OMG Ponies的建議可能會起作用。

+0

傳輸行,謝謝你將看看它。使用起來很複雜的是用戶基礎。顯然,他們沒有專業知識,所以我需要敲一個我認爲要做的數據傳輸的應用程序,我並不期待! – Jon 2009-12-09 17:34:27

+0

優勢數據庫通常用於低規格專業知識的情況,因爲通常數據庫不需要維護,因爲通常存儲的數據量相對較低。我有幾年的優勢,所以如果你需要任何幫助,請告訴我。但是請先嚐試使用odbc的sql server導入工具,因爲這可能至少會爲您提供數據結構的開始。如果您在同一個應用程序中使用ado連接到兩個數據庫,則兩個數據庫都可以使用該技術很好地連接。查找tdataset組件以便在delphi中使用並不確定c。 – LizHanson 2009-12-10 08:59:26

+0

我將寫入數據傳輸的應用程序將使用C#。我們正在從Delphi/Advantage轉向C#/ MSSQL。我猜我將不得不做一個sp_addlinkserver命令來鏈接優勢數據庫。然後,我將以某種方式從優勢數據庫中獲取模式,但是我可以對其進行硬編碼,然後執行create database命令和一系列創建表。然後遍歷所有導入數據的優勢表。有趣! – Jon 2009-12-10 10:16:50

2

沒有使用(或聽到)的優勢數據庫服務器,但我想:

  1. 設置一個linked server instance in SQL Server連接到優勢分貝。您需要Advantage db的OLE驅動程序 - this link可能會有所幫助。
  2. 一旦到位,您就可以將Advantage行中的行從SQL中抽取出來,而無需腳本。

對於不太長久的解決方案,您可以使用OPENROWSET打開到Advantage db的連接。它使用與鏈接服務器相同的OLE驅動程序,但連接僅在使用時打開。

+0

這會自動化一些如何?用戶將無法自己做到這一點,所以我必須給點按鈕點擊並開始數據傳輸 – Jon 2009-12-09 13:32:07

+0

@Jon:自動化?您將其設置一次,不再需要時禁用/刪除。權限和訪問取決於它用於連接的Advantage用戶。 – 2009-12-09 17:21:30

+0

對不起,我的意思是用戶不需要打開SQL Server並進行傳輸。他們需要爲他們做些事情,所以我需要編寫一個應用程序,我認爲要創建一個鏈接服務器,然後通過 – Jon 2009-12-09 17:33:27

1

如果您覺得您需要對ETL過程有更多的控制權,您也可以使用SSIS,否則就像OMG Ponies所建議的那樣。由於Sybase宣稱「零管理,不需要DBA」,因此您和您的數據遲早會出現。有一個ODBC driver available,所以它看起來可行。

相關問題