2012-03-13 15 views
1

從SQL Server導出數據我有一個C#編寫一個Web應用程序在ASP.NET環境中運行。該Web應用程序正在使用SQL Server 2008數據庫(T-SQL)來存儲數據。它有大約4-5個數據表。所以我想知道在ASP.NET中是否有任何東西可以幫助我以編程方式將這些表及其所有數據導出到文本文件(或存儲器陣列)中,以及隨後將它們重新導入到SQL數據庫中(顯然是從一個文件或內存數組)?導入/編程方式使用C#和ASP.NET

PS。我需要的原因是在Web應用程序本身提供一個函數,用於從另一個IIS應用程序的另一個副本導入/導出數據。

回答

1

沒有什麼T-SQL中明確,允許您與文件系統交互的,但也有兩個方向的各種方法。幾個簡單的例子:

This question可能也有一些有趣的評論。

+0

感謝您的聯繫。所以,是的,BULK INSERT看起來像是導入數據的答案,但顯然它不會導出外鍵,關係,索引等。另外,我假設沒有BULK EXPORT,是嗎? – ahmd0 2012-03-13 01:17:18

+0

不,沒有BULK EXPORT,這些方法僅適用於平面/批量數據。如果你想備份索引,鍵,關係等,你可能想考慮一個適當的備份,而不是導出到平面文件。 – 2012-03-13 01:19:34

+0

不,再次,它更像是將數據從一個Web應用程序副本移動到另一個的簡單方法... – ahmd0 2012-03-13 01:23:02

1

您可以創建一個SSIS包到你需要的任何發生複製。參數化軟件包,以便可以改變源數據庫和目標數據庫/連接字符串等。從應用程序執行軟件包。

你甚至可以以編程方式構建SSIS包,如果你需要。目前微軟的參考資料似乎有所下降,但這個SO post有你需要開始編程的基本鏈接。

只是一個警告,雖然方案SSIS包建設的偉大工程,它可以是相當複雜的,而對於SSIS內部/ API的許多方面的文件是稀疏的,如果它存在的話。最好先從通過SSIS Management Studio應用程序構建一個包開始。

+0

謝謝。聽起來像一些複雜的東西,特別是這是我第一次聽說SSIS ... – ahmd0 2012-03-13 01:57:06

0

如果我想你提到我會用鏈接服務器,然後寫一個腳本,將直接使兩個服務器之間移動定期複製兩個SQL Server實例間的數據。

Linked Servers (MSDN)

相關問題