MS SQL Server2k数据转换服务部署(2)

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 = DTSGlobalVariables("DBPassword").Value
  bDBUseTrusted = DTSGlobalVariables("DBUseTrusted").Value
  sOLAPServer = DTSGlobalVariables("OLAPServer").Value
  sOLAPCatalog = DTSGlobalVariables("OLAPCatalog").Value
  
  ' 取得当前DTS包对象的技巧
  Set oPackage = DTSGlobalVariables.Parent
  ' 取得包中的数据连接对象
  Set oConnection = oPackage.Connections("DBConnection")

  ' 配置数据源对象的数据连接信息
  If bDBUseTrusted Then
  oConnection.UseTrustedConnection = bDBUseTrusted
  Else
  oConnection.UserID = sDBUserID
  oConnection.Password = sDBPassword
  End If

 

你可能感兴趣的:(sql,数据库,server,function,basic,vb,任务)