2017-06-02 8 views
0

J'utilise VS 2012 avec SQL Server 2012 et BIML. Je voudrais générer un paquet "principal" contenant plusieurs paquets, assez simple. Voici le code que j'utilise, il contient du code C# qui fait simplement une requête sur un DB pour récupérer le nom des tables (qui sont générées par un paquet avec le même nom). J'ai testé le code sans code C# (avec un package externe) et cela fonctionne ... Quelqu'un peut-il m'aider s'il vous plaît?Générer un package principal contenant des packages externes

Merci d'avance !!

<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

Quel est le message d'erreur que vous obtenez? – iamdave

+0

Erreur 0; manquant – drb

Répondre

1

Il semble que vous manquez un signe égal dans votre extrait:

changement <#SourceTableName#>.dtsx à <#=SourceTableName#>.dtsx

+0

iamdave => vous avez le point !! vous le desservez Merci beaucoup – drb