首页 >数据库 >mysql教程 >如何自动从 SSIS .dtsx 文件检索版本号?

如何自动从 SSIS .dtsx 文件检索版本号?

Susan Sarandon
Susan Sarandon原创
2024-12-18 03:36:11286浏览

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

自动从 .Dtsx 文件检索版本号

从 SSIS 包检索包版本

如果您需要读取版本SSIS包内的信息,您可以访问SSIS系统之一变量:

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

查找包 SQL Server 版本

要确定存储在 .dtsx 文件中的包 SQL Server 版本:

  1. 以文本(或 XML)文档形式打开 .dtsx 文件。
  2. 搜索PackageFormatVersion 属性。

从 .Dtsx 文件中提取值

使用 SQL Server

请参阅以下内容用于从存储在 SQL 中的 .dtsx 文件中检索信息的 SQL 查询的资源服务器:

  • [bill Fellows 文章 - SSIS 包查询](https://billfellows.com/aa/sspackages/default.htm)
  • [Microsoft TechNet 文章 - 列出所有SSIS包存储在msdb中数据库](https://technet.microsoft.com/en-us/library/ms165744.aspx)

使用编程方法

使用正则表达式

以下代码使用Regex循环 .dtsx 文件,提取包属性,包括 PackageFormatVersion:

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

使用 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
...

其他资源

  • [SQL 研究 - 什么 SQL 版本是我的 SSIS 包吗?](https://blog.sqlauthority.com/2010/09/23/sql-server-what-sql-version-is-my-ssis-package/)
  • [MSDN - SQL Server 中的包格式更改Denali](https://docs.microsoft.com/en-us/sql/integration-services/developers/package-format-changes-in-sql-server-denali)

以上是如何自动从 SSIS .dtsx 文件检索版本号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn