2009-07-11 142 views
0

我想知道如何讓SQL Server 2008使用ADO.NET提供程序的模式導入數據。您可以使用數據庫導入嚮導並選擇任何ADO.NET提供程序(在這種情況下我使用的是VistaDB)。但是一旦進入實際導入,來自一個或多個表格的複製數據將變灰。你只能寫查詢。我想複製整個數據庫模式和數據。SQL Server 2008從ADO.NET提供程序導入架構和數據?

我在聯機幫助中發現只有Microsoft供應商可以默認使用該參考,並且必須爲第三方構建自定義描述符。然後幫助指向:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ ProviderDescriptors以查找目錄。瀏覽XML文件看起來像是希望SQL查詢所有模式和定義加載。爲什麼不能通過所有ADO.NET提供者必須實現的GetSchema()調用來加載它們?這對我來說沒有任何意義。

然後我發現您可以從任何ADO.NET提供程序獲取SQL Server中DTS包中的所有模式。我寫的最後一個DTS包大約在10年前。縱觀2008年的版本,我完全迷失了。你如何獲得一個DTS包來加載整個數據庫模式並將其導入到SQL Server中?

或者,我是否在想這個,有一個更簡單的方法來做到這一點?

回答

0

好的,我最終創建了兩篇關於此主題的博客文章,專門用於從SQL Server工具從VistaDB遷移到SQL Server。這是非直觀的,你幾乎不得不使用SSIS,沒有其他辦法。

Using SQL Server Import and Export Wizard with VistaDB - 主要是使用默認嚮導的信息,但我不推薦它。它一次只能做1個表格,而且很難設置。除了SQL Server Standard或更高版本之外,您也無法重複執行此操作(表示無法執行此操作)。

Using SQL Server Integration Services to Migrate VistaDB 4 Data - 本文中的大部分內容適用於任何ADO.NET提供程序。我從mySQL專家,DB2和其他人那裏找到了部分信息。我只是把它放在一起用於VistaDB用戶。

有趣的信息是,我花了3.5小時,通過SSIS爲11表數據庫建立遷移。這個過程非常痛苦,並且有很多點擊步驟讓我瘋狂(使用高級編輯,而不是普通編輯)。一旦我獲得了整個SSIS包安裝程序,大約需要2分鐘才能運行。然後我可以(理論上)隨時重新運行它。但就我而言,我只想移動一次數據和結構。很多時間安裝。

然後我寫了一個簡單的應用程序來遍歷所有的表格,然後只是吐出我可以從sqlcmd運行的SQL語句。編寫該應用程序需要大約1.5個小時,並在大約10秒內執行。但是,sqlcmd花了差不多一個小時的時間來處理所有這些陳述。

我可能建立我們的數據遷移向導(它從SQL Server複製到VistaDB)的反向。您只需點擊7次即可遷移數據庫,並且需要幾秒鐘才能運行。所有的數據訪問都是通過對ADO.NET提供者的GetSchema()調用完成的。

相關問題