簡體   English   中英

從ODBC源將數據合並到SQL Server數據庫的最有效方法

[英]Most efficent way to merge data into SQL Server database from ODBC source

我需要不斷地將數據從ODBC數據源合並(插入/刪除)到SQL Server 2008數據庫(行數從一行到100000行不等)

你會建議什么是最有效的方法(使用.net 3.5):

  1. SqlBulkCopy用於臨時表,然后使用臨時表作為源,使用Merge命令調用存儲過程。
  2. 調用具有表值參數的存儲過程,其中數據作為參數( SqlDbType.Structured )發送,表參數用作合並命令的源。 通過表參數發送的數據是否在批量操作中發送到服務器? 在有> 1000行的情況下使用它是否可行且有效?
  3. 使用合並命令調用存儲過程,該命令使用OpenRowset批量從ODBC源獲取數據(使用鏈接服務器?)
  4. 任何其他方式。

謝謝!

這種情況取決於導入的觸發器。 如果它將每10分鍾安排一次,或者我將使用選項1或創建一個SSIS包,它將執行與選項1相同的操作.JNK是正確的,使用永久表會更好,它將避免分配問題,如果需要,它將允許您從中間選擇過程。

在SSIS中,您的工作流程如下所示:

  • 截斷登台表
  • 創建數據流任務以將數據從源導入到登台表,並在需要時處理錯誤
  • 調用存儲過程來合並數據

創建包后,您可以通過SQL代理安排它。 確保使用包屬性上設置的DontSaveSensitiveData選項創建包,這樣您就不會遇到奇怪的加密錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM