天天看點

在SSIS中使用自定義的DLL檔案

步驟

1、開發dll(需要簽名)

在SSIS中使用自定義的DLL檔案

using System;

在SSIS中使用自定義的DLL檔案

using System.Collections.Generic;

在SSIS中使用自定義的DLL檔案

using System.Text;

在SSIS中使用自定義的DLL檔案

using System.Xml;

在SSIS中使用自定義的DLL檔案

using System.Xml.Schema;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

namespace ETLXmlParser

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

{

在SSIS中使用自定義的DLL檔案

    public class ETLXmlParser

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

        private static bool isValid = true;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

        public static bool Validate(string XmlFilepath, string XsdFilePath)

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

            try

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

            XmlReader reader;

在SSIS中使用自定義的DLL檔案

            XmlReaderSettings settings = new XmlReaderSettings();

在SSIS中使用自定義的DLL檔案

            XmlSchemaSet schemaSet = new XmlSchemaSet();

在SSIS中使用自定義的DLL檔案

            schemaSet.Add(null, XsdFilePath);

在SSIS中使用自定義的DLL檔案

            settings.Schemas.Add(schemaSet);

在SSIS中使用自定義的DLL檔案

            settings.ValidationType = ValidationType.Schema;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

            settings.ValidationEventHandler += new ValidationEventHandler(settings_ValidationEventHandler);

在SSIS中使用自定義的DLL檔案

            settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.ProcessInlineSchema | XmlSchemaValidationFlags.AllowXmlAttributes | XmlSchemaValidationFlags.ProcessIdentityConstraints | XmlSchemaValidationFlags.ProcessSchemaLocation;

在SSIS中使用自定義的DLL檔案

            reader = XmlReader.Create(XmlFilepath, settings);

在SSIS中使用自定義的DLL檔案

            while (reader.Read())

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

                string xmlFile = reader.Value;

在SSIS中使用自定義的DLL檔案

            }

在SSIS中使用自定義的DLL檔案

            reader.Close();

在SSIS中使用自定義的DLL檔案

            return isValid;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

            catch(Exception ex)

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

                return false;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

        }

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

        private static void settings_ValidationEventHandler(object sender, ValidationEventArgs e)

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

            isValid = false;

在SSIS中使用自定義的DLL檔案
在SSIS中使用自定義的DLL檔案

    }

在SSIS中使用自定義的DLL檔案

}

在SSIS中使用自定義的DLL檔案

2 将編譯好的dll拷貝到C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents(SQL Server 安裝目錄)和C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

3、将DLL拖進C:\WINDOWS\assembly檔案夾,也可以用指令安裝該dll(gacutil.exe /i myassembly.dll)

4 在SSIS中拖入一個Script Task,然後設計腳本,添加應用dll