2017-07-28 8 views

Répondre

1

Generate package SSIS ou vérifier les erreurs à la fois évaluer BIML et BimlScript.

Comme un résumé rapide de l'article, il vous montre de modéliser ou de décrire les objets relationnels (base de données/schéma/table) avec BIML. Cela peut être fait manuellement ou par ingénierie inverse avec GetDatabaseSchema. En réalité, ces artefacts sont tous en mémoire. Dès que le compilateur a fini de générer le paquet SSIS ou de rechercher les erreurs, il s'en va. Qu'est-ce que vous cherchez à faire est d'avoir un bouton ou quelque chose BimlExpress pour "Faire des objets de base de données."

qui n'existe pas directement - mais vous pouvez construire tous les outils dont vous avez besoin avec plus BimlScript. Vous pouvez inspecter le Biml évalué en utilisant la hiérarchisation et en évaluant le RootNode's biml

L'article référencé ne montre pas en utilisant la méthode GetDropAndCreateDdl. En invoquant cela dans la mémoire objets relationnels (base de données/schéma/table) traduira le Biml à une définition SQL.

Ce que vous devez savoir est de savoir si vous voulez exécuter le SQL à chaque fois, juste générer les fichiers texte SQL ou faire un package SSIS que vous exécutez ensuite pour exécuter les commandes SQL.

Par exemple, ce bit de BIML va générer à la fenêtre de prévisualisation tous les déposer et créer des déclarations dont vous avez besoin.

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
    <# 
    foreach(var db in RootNode.Databases) 
    { 
     WriteLine(db.GetDropAndCreateDdl()); 
    } 

    foreach(var schema in RootNode.Schemas) 
    { 
     WriteLine(schema.GetDropAndCreateDdl()); 
    } 

    foreach(var table in RootNode.Tables) 
    { 
     WriteLine(table.GetDropAndCreateDdl()); 
    } 
    #> 
</Biml> 

Si je voulais enregistrer dans un fichier, remplacez le WriteLine appelle avec System.IO.File.WriteAllText

Si vous voulez déclencher les sous forme de commandes SQL, il va être un peu plus complexe que vous auriez besoin pour instancier le gestionnaire de connexion associé à la base de données, puis exécutez le ddl.

+0

Merci, je vais essayer ça. Cela ne me dérange pas de créer un paquet mais je n'ai pas vu comment faire ça, le tutoriel ne semblait pas l'expliquer. J'ai ajouté un élément de paquet mais bien sûr, il a juste créé un paquet vide. Mais il me semble que si j'avais Mist, ce serait plus facile? – Kelly

+0

Consultez ce tutoriel http://www.bimlscript.com/walkthrough/Details/73 Section 1-x-DeployTargetTables.biml – billinkc