WEB开发网
开发学院数据库MSSQL Server 如何在同步转换组件中增加输出列 阅读

如何在同步转换组件中增加输出列

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示: 2. 修改PreExecute方法List<int>_columns=newList<int>();//这个集合来保存需要处理的列的索引号inttimestampColumnindex;///<summary>///这个方法是ProcessInput之前的准备

2. 修改PreExecute方法

        List<int> _columns = new List<int>();//这个集合来保存需要处理的列的索引号
        int timestampColumnindex;
        /// <summary>
        /// 这个方法是ProcessInput之前的准备工作。
        /// 我们检测所有输入列中类型为字符型的,并将它的索引号记录起来
        /// 为了让ProcessInput能使用到这个信息,我们定义一个公用变量
        /// </summary>
        public override void PreExecute()
        {
            IDTSInput90 input = ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection90 columns = input.InputColumnCollection;
            foreach (IDTSInputColumn90 item in columns)
            {
                if (item.DataType == DataType.DT_WSTR || item.DataType == DataType.DT_STR)
                {
                    _columns.Add(BufferManager.FindColumnByLineageID(input.Buffer, item.LineageID));
                }
            }
            IDTSOutput90 output = ComponentMetaData.OutputCollection[0];
            IDTSOutputColumn90 column = output.OutputColumnCollection[0];
            timestampColumnindex = BufferManager.FindColumnByLineageID(input.Buffer, column.LineageID);
            //一定要注意,因为是同步输出,所以这里查找仍热是在input.buffer里面找,而不是output.buffer
    //也就是说,至于遇到了异步转换,才会另外创建一个buffer,否则是使用同一个buffer
            }

Tags:如何 同步 转换

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接