生成包含外部包

时间:2017-06-02 10:36:16

标签: c# biml

我正在使用VS 2012与SQL Server 2012和BIML。 我想生成一个" main"包含几个包的包,非常简单。 这是我正在使用的代码,它包含c#代码,它只是在DB上执行查询以检索表的名称(由具有相同名称的包生成)。 我在没有c#代码的情况下测试了代码(使用一个外部软件包),它正在运行...... 有人可以帮我吗?

提前致谢!!



    <Biml xmlns="http://schemas.varigence.com/biml.xsd">
  <Packages>
    <Package Name="Test" ConstraintMode="Linear">
    <# 	string MyConnectionString ="Data Source=(localdb)\\mssqllocaldb;Initial Catalog=DB1;Provider=SQLNCLI11.1;Persist Security Info=True;Auto Translate=False; Integrated Security=SSPI" ; 
		string SourceTableName; 
		DataTable MyDataTable; 
		MyDataTable = ExternalDataAccess.GetDataTable(MyConnectionString,"SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_TYPE ='Base Table' AND t.TABLE_NAME='Table1'"); 
    
        foreach(DataRow row in MyDataTable.Rows)
        { 
            SourceTableName = row["TABLE_NAME"].ToString().ToUpper() ;  
    #>
     <Tasks>
        <ExecutePackage  Name="Test">
           <ExternalProjectPackage Package="<#SourceTableName#>.dtsx"/>
        </ExecutePackage> 
     </Tasks>
<# } #>                      
    </Package>
  </Packages>
</Biml>
<!--Directives:-->
<#@ template language ="C#" tier ="2" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="Varigence.Biml.CoreLowerer.SchemaManagement" #> 
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

看起来你的片段中缺少一个等号:

<#SourceTableName#>.dtsx更改为<#=SourceTableName#>.dtsx