2017-06-02 58 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