首页 文章

使用BIML添加脚本任务

提问于
浏览
5

我正在尝试通过BIML将脚本任务添加到我的SSIS包中 . 这是怎么做到的?我添加了以下内容,但ScriptTaskProjectName无法解析 .

<Script Name="Script Task" LoggingMode="Enabled">  
            <ScriptTaskProjectReference ScriptTaskProjectName="MyScript"  />
        </Script>

1 回答

  • 9

    快速而肮脏的答案是使用bimlscript.com上的现有示例

    <Biml xmlns="http://schemas.varigence.com/biml.xsd">
        <Packages>
            <Package Name="Package2" ConstraintMode="Parallel" ProtectionLevel="EncryptSensitiveWithUserKey">
                <Tasks>
                    <Script ProjectCoreName="ST_232fecafb70a4e8a904cc21f8870eed0" Name="ScriptTask 1">
                        <ScriptTaskProject>
                            <ScriptTaskProject ProjectCoreName="ST_c41ad4bf47544c49ad46f4440163feae" Name="TaskScriptProject1">
                                <AssemblyReferences>
                                    <AssemblyReference AssemblyPath="Microsoft.SqlServer.ManagedDTS.dll" />
                                    <AssemblyReference AssemblyPath="Microsoft.SqlServer.ScriptTask.dll" />
                                    <AssemblyReference AssemblyPath="System.dll" />
                                    <AssemblyReference AssemblyPath="System.AddIn.dll" />
                                    <AssemblyReference AssemblyPath="System.Data.dll" />
                                    <AssemblyReference AssemblyPath="System.Windows.Forms.dll" />
                                    <AssemblyReference AssemblyPath="System.Xml.dll" />
                                </AssemblyReferences>
                                <Files>
                                    <File Path="AssemblyInfo.cs">
                                        using System.Reflection;
                                        using System.Runtime.CompilerServices;
    
                                        //
                                        // General Information about an assembly is controlled through the following
                                        // set of attributes. Change these attribute values to modify the information
                                        // associated with an assembly.
                                        //
                                        [assembly: AssemblyTitle("ST_c41ad4bf47544c49ad46f4440163feae.csproj")]
                                        [assembly: AssemblyDescription("")]
                                        [assembly: AssemblyConfiguration("")]
                                        [assembly: AssemblyCompany("Varigence")]
                                        [assembly: AssemblyProduct("ST_c41ad4bf47544c49ad46f4440163feae.csproj")]
                                        [assembly: AssemblyCopyright("Copyright @ Varigence 2013")]
                                        [assembly: AssemblyTrademark("")]
                                        [assembly: AssemblyCulture("")]
                                        //
                                        // Version information for an assembly consists of the following four values:
                                        //
                                        //      Major Version
                                        //      Minor Version
                                        //      Build Number
                                        //      Revision
                                        //
                                        // You can specify all the values or you can default the Revision and Build Numbers
                                        // by using the '*' as shown below:
    
                                        [assembly: AssemblyVersion("1.0.*")]
                                    </File>
                                    <File Path="ScriptMain.cs">
                                        using System;
                                        using System.Data;
                                        using Microsoft.SqlServer.Dts.Runtime;
                                        using System.Windows.Forms;
    
                                        // if SSIS2012, use the following line:
                                        [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
    
                                        // if earlier version, use the next line instead of the above line:
                                        // [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
                                        public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
                                        {
                                        enum ScriptResults
                                        {
                                        Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
                                        Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
                                        };
    
                                        public void Main()
                                        {
                                        Dts.TaskResult = (int)ScriptResults.Success;
                                        }
                                        }
                                    </File>
                                </Files>
                            </ScriptTaskProject>
                        </ScriptTaskProject>
                    </Script>
                </Tasks>
            </Package>
        </Packages>
    </Biml>
    

    这会生成一个SSIS包,其中附加了一个脚本任务 .

    enter image description here

相关问题