ディレクトリに保存されている複数の .DTsx ファイルのパッケージ バージョンを確認するには、次の点を考慮してください。テクニック:
ただし、SQL Server に保存されていないファイルのパッケージ バージョン情報を抽出することはできません。プログラム的なアプローチが必要です。各メソッドの詳細な観点は次のとおりです。
パッケージ バージョンの取得を自動化するには、次の 2 つのプログラミング アプローチを使用します。
このメソッドは、正規表現を利用して .DTsx ファイルを解析し、PackageFormatVersion およびその他のパッケージ プロパティを抽出します。この情報を表すためにカスタム クラスが定義されます。このアプローチを示すコード スニペットは次のとおりです。
<br>Regex.Match(strContent, "(?<=<=""PackageFormatVersion"">)(.*)(? =</DTS:プロパティ>)", RegexOptions.Singleline).Value<br></p> <p></p> <h4>2. XML パーサーを使用した VBA:</h4></h4> <p>このメソッドは、XML パーサーを利用して .DTsx ファイルのコンテンツにアクセスし、関連するプロパティを抽出します。このコードは XML ドキュメントを解析し、名前空間と属性を使用して PackageFormatVersion を取得します。この手法を紹介するコード スニペットは次のとおりです。</p> <p><pre class="brush:php;toolbar:false"><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>xml.Root が何もなく、かつ xml.Root.Descendants(ns "Property").Attributes(ns "Name") が何もなく、かつ xml.Root でもない場合。 Descendants(ns "プロパティ").Attributes(ns "名前").Where(Function(x) x.Value = "パッケージ形式バージョン").Count > 0 then</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
End If
以上がDTSX ファイルからパッケージのバージョン情報を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。