Maison > base de données > tutoriel mysql > Comment puis-je extraire les informations sur la version du package à partir des fichiers DTSX ?

Comment puis-je extraire les informations sur la version du package à partir des fichiers DTSX ?

Mary-Kate Olsen
Libérer: 2024-12-29 11:14:11
original
423 Les gens l'ont consulté

How Can I Extract Package Version Information from DTSX Files?

Extraction des informations sur le package à partir des fichiers DTsx

Pour déterminer les versions de package pour plusieurs fichiers.DTsx stockés dans un répertoire, tenez compte des éléments suivants techniques :


  • Utilisation de VBA avec Regex ou XmlParser :

    Cette méthode implique la lecture et l'analyse de fichiers .DTsx pour extraire des fichiers spécifiques propriétés, y compris PackageFormatVersion.

  • Utilisation de requêtes T-SQL :

    Si les fichiers .DTsx sont stockés dans la base de données msdb de SQL Server, vous pouvez récupérer les versions des packages à l'aide de requêtes dédiées. Cependant, cette méthode nécessite une navigation manuelle vers l'emplacement spécifique de la base de données des fichiers.DTsx.

Cependant, l'extraction des informations sur la version du package pour les fichiers non stockés dans SQL Server nécessite des approches programmatiques. Voici une perspective détaillée de chaque méthode :

Accès aux informations sur la version du package par programmation

Pour automatiser la récupération des versions du package, voici deux approches de programmation utilisant :

1. VBA avec Regex :

Cette méthode exploite les expressions régulières pour analyser les fichiers.DTsx et extraire le PackageFormatVersion et d'autres propriétés du package. Une classe personnalisée est définie pour représenter ces informations. Voici un extrait de code illustrant cette approche :

<br>Regex.Match(strContent, "(?<=<=""PackageFormatVersion"">)(.*)(? =</DTS:Propriété>)", RegexOptions.Singleline).Value<br>

2. VBA avec analyseur XML :

Cette méthode utilise un analyseur XML pour accéder au contenu du fichier .DTsx et extraire les propriétés pertinentes. Le code analyse le document XML et récupère PackageFormatVersion à l'aide d'espaces de noms et d'attributs. Voici un extrait de code présentant cette technique :

<br>Dim ns As XNamespace = "www.microsoft.com/SqlServer/Dts"<br>Dim man As XmlNamespaceManager = New XmlNamespaceManager(New NameTable ())<br>man.AddNamespace("DTS", "www.microsoft.com/SqlServer/Dts")<br>Si ce n'est pas xml.Root n'est rien et également pas xml.Root.Descendants(ns "Property").Attributes(ns "Name") n'est rien et également xml.Root. Descendants(ns "Propriété").Attributes(ns "Nom").Où(Fonction(x) x.Valeur = "PackageFormatVersion").Compte > 0 Alors</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">strPackageFormatVersion = xml.Root.Descendants(ns + "Property").Attributes(ns + "Name").Where(Function(x) x.Value = "PackageFormatVersion").FirstOrDefault.Parent.Value
Copier après la connexion

Fin si

Informations supplémentaires :

  • Application de démonstration :
    L'auteur a créé une application de démonstration pour automatiser le processus d'extraction des versions de packages. Il peut être téléchargé à partir du lien Dropbox fourni.
  • Requête TSQL :
    La réponse de l'auteur sur DBA.StackExchange fournit une requête TSQL pour déterminer les PackageFormatVersions pour les fichiers .DTsx dans un dossier.
  • PackageFormatVersion Tableau :
    La réponse comprend un tableau mappant les versions de SQL Server, les numéros de build et les PackageFormatVersions correspondants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal