在SSIS中使用自定义的DLL文件步骤1、开发dll(需要签名)using?Systemusing?System.Collections.Genericusi
在SSIS中使用自定义的DLL文件
步骤
1、开发dll(需要签名)
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Xml;
using?System.Xml.Schema;
namespace?ETLXmlParser
{
????public?class?ETLXmlParser
????{
????????private?static?bool?isValid?=?true;
???????public?static?bool?Validate(string?XmlFilepath,?string?XsdFilePath)
????????{
????????????try{
????????????XmlReader?reader;
????????????XmlReaderSettings?settings?=?new?XmlReaderSettings();
???????????XmlSchemaSet?schemaSet?=?new?XmlSchemaSet();
????????????schemaSet.Add(null,?XsdFilePath);
????????????settings.Schemas.Add(schemaSet);
????????????settings.ValidationType?=?ValidationType.Schema;
????????????settings.ValidationEventHandler?+=?new?ValidationEventHandler(settings_ValidationEventHandler);
????????????settings.ValidationFlags?=?XmlSchemaValidationFlags.ReportValidationWarnings?|?XmlSchemaValidationFlags.ProcessInlineSchema?|?XmlSchemaValidationFlags.AllowXmlAttributes?|?XmlSchemaValidationFlags.ProcessIdentityConstraints?|?XmlSchemaValidationFlags.ProcessSchemaLocation;
????????????reader?=?XmlReader.Create(XmlFilepath,?settings);
???????????while?(reader.Read())
????????????{
????????????????string?xmlFile?=?reader.Value;
????????????}
????????????reader.Close();
????????????return?isValid;
???????????}
????????????catch(Exception?ex)
????????????{
????????????????return?false;
????????????}
????????}
????????private?static?void?settings_ValidationEventHandler(object?sender,?ValidationEventArgs?e)
????????{
????????
????????????isValid?=?false;
???????}
????}
}
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