Scripting the Profile Data Import DTS Task

The following script creates and runs the Profile Data Import DTS task. This script can be used to create a package containing the DTS task to be run. The sample script can be run in two different ways. You can run the package on the command line by using the command DTSRun.exe. The file DTSRun.exe is automatically installed on your server when you install SQL Server. Or you can copy the script into a Visual Basic script file (.vbs) and run it by using cscript, for example, <drive>:cscript <filename>.vbs.

To successfully complete the import of data into the Data Warehouse, run the DTS tasks in the following order:

  1. Configuration Synchronization
  2. Web Server Log Import
  3. Transaction Data Import
  4. Product Catalog Import
  5. Profile Data Import
  6. Campaign Data Import
  7. Data Deletion
  8. Model Builder
  9. IP Resolution
  10. Report Preparation
  11. Report caching

For more information about the DTSUPMCustomTask object, see DTSUPMCustomTask Object.

For a description of this DTS task, see Commerce Server DTS Tasks.

The Site Level Profile Data Import Script should be used when importing data at the site level. The Per Data Warehouse Profile Data Import Script should be used when importing data at the Data Warehouse level.

Site Level Profile Data Import Script

Data Warehouse Level Profile Data Import Script

Site Level Profile Data Import Script

'*********************************************************************
' Profile Data Import DTS Task
' This script creates a DTS package and runs it.
'**********************************************************************
Dim oPackage 
Dim oTask 
Dim oStep 
Dim oProps 
Dim oTaskProps 
set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Profile Data Import DTS Task"
oPackage.Description = "Imports user profile data into the Data Warehouse."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("CS_UpmDtsTask.DTSUPMCustomTask")
oTask.Name = "Task1"
oTask.Description = "Creates a task for ProfileDataImport DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set DTS task properties.
'*******************************************************************
oTaskProps("SourceType").value = 0
' Make sure SourceName is set to the correct Web site name.
oTaskProps("SourceName").value = "BlankSite"         'Put the proper site name here
oTaskProps("DTSTaskImportStartDate").value = #01/01/2002#    'Put the proper date here
oTaskProps("NumRetries").value = 3
oTaskProps("RetryInterval").value = 30
oTaskProps("DTSTaskTimeQuantum").value = 15
oTaskProps("ProcessingType").value = 0
oPackage.Tasks.Add oTask

'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

'For custom tasks written in Visual Basic, the steps cannot run on a 
' secondary thread.
oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " + _ 
            oPackage.Name + " failed."
        End If
    Next 

MsgBox oPackage.Name + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing

Data Warehouse Level Profile Data Import Script

'*********************************************************************
' Profile Data Import DTS Task
' This script creates a DTS package and runs it.
'**********************************************************************
Dim oPackage 
Dim oTask 
Dim oStep 
Dim oProps 
Dim oTaskProps 
set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Profile Data Import DTS Task"
oPackage.Description = "Imports user profile data into the Data Warehouse."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("CS_UpmDtsTask.DTSUPMCustomTask")
oTask.Name = "Task1"
oTask.Description = "Creates a task for ProfileDataImport DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set DTS task properties.
'*******************************************************************
oTaskProps("SourceType").value = 1
' Make sure SourceName is set to the correct Data Warehouse name.
oTaskProps("SourceName").value = "Data Warehouse 1"
oTaskProps("DTSTaskImportStartDate").value = #01/01/2002#    'Put the proper date here
oTaskProps("NumRetries").value = 3
oTaskProps("RetryInterval").value = 30
oTaskProps("DTSTaskTimeQuantum").value = 15
oTaskProps("ProcessingType").value = 100
oPackage.Tasks.Add oTask

'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

'For custom tasks written in Visual Basic, the steps cannot run on a 
' secondary thread.
oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " + _ 
            oPackage.Name + " failed."
        End If
    Next 

MsgBox oPackage.Name + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing

Set oPackage = Nothing

Copyright © 2005 Microsoft Corporation.
All rights reserved.