0

我将 VS 2012 与 SQL Server 2012 和 BIML 一起使用。我想生成一个包含几个包的“主”包,非常简单。这是我正在使用的代码,它包含 c# 代码,它只是对数据库进行查询以检索表的名称(由具有相同名称的包生成)。我测试了没有 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" #> 

4

1 回答 1

1

看起来您的代码段中缺少一个等号:

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

于 2017-06-02T10:48:50.367 回答