程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MSSQLServer2k數據轉換服務部署

MSSQLServer2k數據轉換服務部署

編輯:關於SqlServer
 1. 目標
  MS SQL Server做大數據量傳輸的時候,我們大多會用到數據傳輸服務。現在假設,在開發環境下,我們已經設計好了DTS包並且運行良好,接下來我們要做的事情是遷移和部署這個DTS數據包。
  
  所以,我們需要把設計環境下的DTS包保存成結構化的存儲文件,並且這個文件導入到目標環境下的MS SQL Server中,最後添加作業,讓MS SQL Server Angent在我們預期的事情執行這個DTS包完成數據傳輸工作。其中需要重點解決的一個問題是,在目標環境中,DTS傳輸的源和目的地會發生改變,需要對它進行配置。
  
  2. 解決方案
  2.1. DTSRun
  
  DTSRun是微軟提供的命令用於執行DTS包(包括結構化存儲的、存儲在SQL Server或存儲在Meta Data Services的包)。
  
  dtsrun的用法:
  
  dtsrun
  [/?]|
  [
  [
  /[~]S server_name[instance_name]
  { {/[~]U user_name [/[~]P passWord]} | /E }
  ]
  {
  {/[~]N package_name }
  | {/[~]G package_guid_string}
  | {/[~]V package_version_guid_string}
  }
  [/[~]M package_passWord]
  [/[~]F filename]
  [/[~]R repository_database_name]
  [/A global_variable_name:typeid=value]
  [/L log_file_name]
  [/W NT_event_log_completion_status]
  [/Z] [/!X] [/!D] [/!Y] [/!C]
  ]
  
  具體的用法參看微軟的資料。這裡需要重點指出的是,通過“/A global_variable_name:typeid=value”選項,我們可以給DTS包傳遞多個自定義的參數,在DTS包部署的目標環境下,我們用這個選項告訴DTS包服務器名稱、用戶名、密碼等數據庫連接信息。通過“/!Y”選項可以獲取加密後的DTSRun參數。
  
  2.2. 重新設計DTS包
  
  為了處理DTSRun傳入的自定義參數,DTS包需要重新設計。我們可以增加一個ActiveX Script任務,在ActiveX Script任務中通過VB Script或者Java Script對DTS編程,並且定義流程,把ActiveX Script任務設置成最開始的一個任務。由於DTS COM對象線程模式與ActiveX Script任務宿主的不一致,需要將ActiveX Script任務工作流屬性設置成在主包線程中執行,否則可能會出現調用錯誤。
  
  下面的例子是ActiveX Script任務中的腳本。例子中的DTS包包含名稱為"DBConnection"的數據庫連接對象。
  
  
  '************************************************************************
  ' Visual Basic ActiveX Script
  '************************************************************************
  Function Main()
  Dim sDBDataSource
  Dim sDBCatalog
  Dim sDBUserID
  Dim sDBPassWord
  Dim bDBUseTrusted
  Dim sOLAPServer
  Dim sOLAPCatalog
  Dim oPackage
  Dim oConnection
  Dim oTask
  Dim oCustomTask
  
  ' 獲取DTSRun傳入的自定義參數
  sDBDataSource = DTSGlobalVariables("DBDataSource").Value
  sDBCatalog = DTSGlobalVariables("DBCatalog").Value
  sDBUserID = DTSGlobalVariables("DBUserID").Value
  sDBPassWord = DTSGlobalVariabl
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved