• SSIS脚本组件的代码


    http://topic.csdn.net/u/20090708/11/7344c5ad-fcc0-4e19-a21a-0e3c2ea25407.html

    http://www.windbi.com/showtopic.aspx?topicid=1345&page=end
    http://topic.csdn.net/u/20090617/15/a9a58f90-77fc-4e0d-b780-8bdc5cc6dc8b.html
    http://support.microsoft.com/kb/918760

    http://blogs.msdn.com/b/jorgepc/archive/2008/02/12/ssis-error-dts-e-cannotacquireconnectionfromconnectionmanager-when-connecting-to-oracle-data-source.aspx


    public class ScriptMain:
        UserComponent

    {
        IDTSConnectionManager100 connMgr;
        SqlConnection sqlConn;
        SqlCommand sqlCmd;
        SqlParameter sqlParam;

        public override void AcquireConnections(object Transaction)
        {

            connMgr = this.Connections.MyADONETConnectionManager;
            sqlConn = (SqlConnection)connMgr.AcquireConnection(null);

        }

        public override void PreExecute()
        {

            sqlCmd = new SqlCommand("INSERT INTO Person.Address2(AddressID, City) " +
                "VALUES(@addressid, @city)", sqlConn);
            sqlParam = new SqlParameter("@addressid", SqlDbType.Int);
            sqlCmd.Parameters.Add(sqlParam);
            sqlParam = new SqlParameter("@city", SqlDbType.NVarChar, 30);
            sqlCmd.Parameters.Add(sqlParam);

        }

        public override void MyAddressInput_ProcessInputRow(MyAddressInputBuffer Row)
        {
            {
                sqlCmd.Parameters["@addressid"].Value = Row.AddressID;
                sqlCmd.Parameters["@city"].Value = Row.City;
                sqlCmd.ExecuteNonQuery();
            }
        }

        public override void ReleaseConnections()
        {

            connMgr.ReleaseConnection(sqlConn);

        }

    }


    C#VB复制
     using System.IO;
    public class ScriptMain:
        UserComponent

    {
        string copiedAddressFile;
        private StreamWriter textWriter;
        private string columnDelimiter = ",";

        public override void AcquireConnections(object Transaction)
        {

            IDTSConnectionManager100 connMgr = this.Connections.MyFlatFileDestConnectionManager;
            copiedAddressFile = (string) connMgr.AcquireConnection(null);

        }

        public override void PreExecute()
        {

            textWriter = new StreamWriter(copiedAddressFile, false);

        }

        public override void MyAddressInput_ProcessInputRow(MyAddressInputBuffer Row)
        {

            {
                if (!Row.AddressID_IsNull)
                {
                    textWriter.Write(Row.AddressID);
                }
                textWriter.Write(columnDelimiter);
                if (!Row.City_IsNull)
                {
                    textWriter.Write(Row.City);
                }
                textWriter.WriteLine();
            }

        }

        public override void PostExecute()
        {

            textWriter.Close();

        }

    }

  • 相关阅读:
    Unity资源打包之Assetbundle
    集社交与金融为一体,平安天下通怎样推动互联网金融创新?
    json和pickle模块
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    logging模块

  • 原文地址:https://www.cnblogs.com/mistor/p/2308799.html
Copyright © 2020-2023  润新知