2017-06-02 57 views
0

我正在使用VS 2012与SQL Server 2012和BIML。 我想生成一个包含几个包的“主”包,很简单。 这里是我使用的代码,它包含的c#代码,它只是对数据库执行查询以检索表名(由具有相同名称的包生成)。 我测试了代码没有C#代码(与一个外部包),它正在工作... 有人可以帮助我吗?生成包含外部程序包的主包

在此先感谢!

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
 
    <Packages> 
 
    <Package Name="Test" ConstraintMode="Linear"> 
 
    <# \t string MyConnectionString ="Data Source=(localdb)\\mssqllocaldb;Initial Catalog=DB1;Provider=SQLNCLI11.1;Persist Security Info=True;Auto Translate=False; Integrated Security=SSPI" ; 
 
\t \t string SourceTableName; 
 
\t \t DataTable MyDataTable; 
 
\t \t 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" #>

+0

什么是你所得到的错误讯息? – iamdave

+0

错误0;缺少 – drb

回答

1

它看起来像你缺少你片断等号:

变化<#SourceTableName#>.dtsx<#=SourceTableName#>.dtsx

+0

iamdave =>你明白了!你值得拥有它 非常感谢 – drb