Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengautomasikan Pengambilan Nombor Versi daripada Fail SSIS .dtsx?

Bagaimanakah Saya Boleh Mengautomasikan Pengambilan Nombor Versi daripada Fail SSIS .dtsx?

Susan Sarandon
Susan Sarandonasal
2024-12-18 03:36:11277semak imbas

How Can I Automate Version Number Retrieval from SSIS .dtsx Files?

Mengautomasikan Pengambilan Nombor Versi daripada Fail .Dtsx

Mendapatkan Versi Pakej daripada Pakej SSIS

Jika anda perlu membaca versi maklumat dalam pakej SSIS, anda boleh mengakses salah satu sistem SSIS pembolehubah:

Variable Type Description
VersionBuild Int32 The package version
VersionComment String Comments about the package version
VersionGUID String The unique identifier of the version
VersionMajor Int32 The major version of the package
VersionMinor Int32 The minor version of the package

Mencari Pakej Versi Pelayan SQL

Untuk menentukan Pakej Versi Pelayan SQL yang disimpan dalam fail .dtsx:

  1. Buka fail .dtsx sebagai dokumen teks (atau XML).
  2. Cari PackageFormatVersion property.

Mengekstrak Nilai daripada .Dtsx Files

Menggunakan SQL Server

Rujuk sumber berikut untuk pertanyaan SQL yang mendapatkan maklumat daripada fail .dtsx yang disimpan dalam SQL Pelayan:

  • [artikel rakan bil - pertanyaan pakej SSIS](https://billfellows.com/aa/sspackages/default.htm)
  • [artikel Microsoft TechNet - Senaraikan semua Pakej SSIS disimpan dalam msdb pangkalan data](https://technet.microsoft.com/en-us/library/ms165744.aspx)

Menggunakan Pendekatan Programatik

Menggunakan Ungkapan Biasa

Kod berikut menggunakan Regex untuk menggelung ke atas .dtsx fail, mengekstrak sifat pakej, termasuk PackageFormatVersion:

Private Sub ReadPackagesInfo(ByVal strDirectory As String)
Dim regexPattern As String = "(?<=""PackageFormatVersion"">)(.*)(?=</DTS:Property>)"
...
Dim strPackageFormatVersion = Regex.Match(strContent, regexPattern, RegexOptions.Singleline).Value
...

Menggunakan XMLParser

Private Sub ReadPackagesInfoUsingXmlParser(ByVal strDirectory As String)
Dim ns As XNamespace = "www.microsoft.com/SqlServer/Dts"
...
If Not xml.Root Is Nothing AndAlso
    Not xml.Root.Descendants(ns + "Property").Attributes(ns + "Name") Is Nothing AndAlso
         xml.Root.Descendants(ns + "Property").Attributes(ns + "Name").Where(Function(x) x.Value = "PackageFormatVersion").Count > 0 Then
    strPackageFormatVersion = xml.Root.Descendants(ns + "Property").Attributes(ns + "Name").Where(Function(x) x.Value = "PackageFormatVersion").FirstOrDefault.Parent.Value
End If
...

Sumber Tambahan

  • [SQL Studies - Apakah versi SQL SSIS saya pakej?](https://blog.sqlauthority.com/2010/09/23/sql-server-what-sql-version-is-my-ssis-package/)
  • [MSDN - Format Pakej Perubahan dalam SQL Server Denali](https://docs.microsoft.com/en-us/sql/integration-services/developers/package-format-changes-in-sql-server-denali)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengautomasikan Pengambilan Nombor Versi daripada Fail SSIS .dtsx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn