DTS Transform Data Task的使用

DTS  Transform Data Task的使用
                                          -------------2006.06.08
目的:
        将Source Server中的数据表经过一定的事务处理转换到 Destination Server的数据表中.      (例子)
步骤:
        1,在Connection中选择两个 Microsoft OLE DB Provider for SQL Server,分别设为Source Server和Destination Server,并设置其相关属性.
             DTS Transform Data Task的使用            DTS Transform Data Task的使用
             (图1)                                                                                (图2)
        2.  创建一个Transform Data Task
             先选择Source Server,点击Transform Data Task 任务,在选择Defination Server.这样,就在用Transform 将两个不同的服务器连接起来了.
        3.  根据事务逻辑在Transform Data Task设置编写相关代码.
               Source:    选择源Server中的数据库的某一个特定表或者视图,当然,你也可以自己写SQL Query,
       DTS Transform Data Task的使用 
                                           (图3)
       Preview:来查看你所选择或者Sql Query中的数据.
       Build Query:点击后将出现下图,在这里你可以选择Source Server中某一数据库中的一些表和视图,()
         DTS Transform Data Task的使用
                                                    (图4)
        Browse:你也可以将DTS中的sql文件,导入进来.
        Parse Query:对Query进行语法检查
 Destination:
        DTS Transform Data Task的使用
                                       (图5)
        如Source 
Transformation:默认Source和Destination的Field关系如下,当然了也可以将这些Field删除,重新建立新的Field连接.而重要的也是这些!
         DTS Transform Data Task的使用
                                                                      (图6)
 建立ActiveX Script连接,
       点击New,选择ActiveX Script连接,出现如下画面.
        DTS Transform Data Task的使用
                                                                     (图7)
               选择Properties:出现下图:这里可以根据数据转换要求,进行代码编写.                                                                                           DTS Transform Data Task的使用
                                                            (图8)
选择Source Columns,          
            DTS Transform Data Task的使用(图9)
 选择Destination Columns
       DTS Transform Data Task的使用(图10)
                                        
Lookups:输入Name,选择Connection(一般有两个,一个是Source Server的,一个是Detination Server的.点击Query的按钮,将会出现 (图4)
      注意:在LookUps中不仅仅可以Select,也可以UpDate,InSert,Delete.我当初就犯了这样的一个错误.走了别的弯路.
       DTS Transform Data Task的使用(图11)
 Option:没有怎么使用过!
       DTS Transform Data Task的使用(图12)                 
                                         
注:图8的详细介绍.如(图13)                   DTS Transform Data Task的使用                                              
                                                     
但Data Pump Constan中的
        DTSTransformStat_OK
        DTSTransformStat_Info
        DTSTransformStat_OKInfo
        DTSTransformStat_SkipRow
        DTSTransformStat_SkipRowInfo
        DTSTransformStat_SkipFetch
        DTSTransformStat_SkipInsert
        DTSTransformStat_DestDataNotSet
        DTSTransformStat_Error
        DTSTransformStat_ErrorSkipRow
        DTSTransformStat_ExceptionRow
        DTSTransformStat_AbortPump
        DTSTransformStat_NoMoreRows
几个选项具体是什么意思,我都不是很懂呢!

在测试的时候,在Source Columns和Destination Columns中选择一些Fields
而在Visual Basic Transformation Script中只输入如下代码:

         '**********************************************************************
        '  Visual Basic Transformation Script
        '************************************************************************

        '  Copy each source column to the destination column
        Function Main()
                 Main = DTSTransformStat_OK
        End Function

在Visual Basic Transformation Script中使用Test运行时,没有任何错误.
而运行包是,则会出现这样的错误信息.  (其实什么都没有做呀!)
           DTS Transform Data Task的使用
                         
而改为
         '**********************************************************************
        '  Visual Basic Transformation Script
        '************************************************************************

        '  Copy each source column to the destination column
        Function Main()
                 Main = DTSTransformStat_SkipRow
        End Function
再重新运行的时候就没有了错误.

这个是什么问题,连我自己都搞不明白.

当然了,使用ActiveX Script一样可以实现这个功能!但会麻烦一些.我都有试过.

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/06/08/420591.html如需转载请自行联系原作者

kenty