> 데이터 베이스 > MySQL 튜토리얼 > 여러 .dtsx 파일에서 버전 번호 검색을 자동화하려면 어떻게 해야 합니까?

여러 .dtsx 파일에서 버전 번호 검색을 자동화하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-21 15:38:16
원래의
961명이 탐색했습니다.

How Can I Automate the Retrieval of Version Numbers from Multiple .dtsx Files?

.Dtsx 파일에서 버전 번호 검색 자동화

소개:

패키지 수동 검색 수많은 SSIS 파일의 버전은 지루할 수 있습니다. 이 문서에서는 이 프로세스를 자동화하는 다양한 접근 방식을 제공합니다.

SSIS 패키지 내에서 시스템 변수 사용:

  • 패키지 내의 SSIS 시스템 변수에 액세스하여 검색 버전 정보:

    • 버전빌드
    • 버전설명
    • 버전 GUID
    • VersionMajor
    • VersionMinor

구입 .dtsx 파일 버전:

  • dtsx 파일을 XML/텍스트로 구문 분석:

    • "PackageFormatVersion 검색 " 파일의 속성 header.
  • 정규식 사용:

    • 정규식 패턴을 작성하여 PackageFormatVersion을 캡처합니다.
  • XML 파서 사용:

    • dtsx 파일을 XML 문서로 로드하고 XPath를 사용하여 쿼리합니다. "PackageFormatVersion"의 경우 attribute.

SQL Server에 저장된 .dtsx 파일에서 정보 가져오기:

  • 다음을 참조하세요. 링크 쿼리:

    • https://billfellows.com/ssis-package-query/
    • https://technet.microsoft.com/en-us/library/cc521816.aspx

다음에서 데이터 추출 SQL Server에 저장되지 않은 .dtsx 파일:

  • 위에 설명된 방법(Regex 또는 XML 구문 분석 사용)을 사용하여 파일 시스템에 저장된 .dtsx 파일을 읽습니다.

다음을 사용한 샘플 코드 정규식:

Public Sub ReadPackagesInfo(ByVal strDirectory As String)
    ' Initialize a list to store package information
    m_lst.Clear()

    Dim strPackageFormatVersion As String = ""
    Dim strCreationDate As String = ""
    ' ... (Additional property variables)

    For Each strFile As String In IO.Directory.GetFiles(strDirectory, "*.dtsx", IO.SearchOption.AllDirectories)
        ' Read the file contents
        Dim strContent As String = ""
        Using sr As New IO.StreamReader(strFile)
            strContent = sr.ReadToEnd
            sr.Close()
        End Using

        ' Use Regex to extract package version and other properties
        strPackageFormatVersion = Regex.Match(strContent, "(?<=""PackageFormatVersion"">)(.*)(?=</DTS:Property>)", RegexOptions.Singleline).Value
        ' ... (Additional regex patterns for other properties)

        ' Add package information to the list
        m_lst.Add(New PackageInfo With {
                        .PackageFileName = strFile,
                        .PackageFormatVersion = strPackageFormatVersion,
                        ' ... (Additional properties)
                    })
    Next
End Sub
로그인 후 복사

Xml 파서를 사용한 예제 코드:

Public Sub ReadPackagesInfoUsingXmlParser(ByVal strDirectory As String)
    ' Initialize a list to store package information
    m_lst.Clear()

    Dim strPackageFormatVersion As String = ""
    Dim strCreationDate As String = ""
    ' ... (Additional property variables)

    For Each strFile As String In IO.Directory.GetFiles(strDirectory, "*.dtsx", IO.SearchOption.AllDirectories)
        ' Load the file as XML document
        Dim xml = XDocument.Load(strFile)

        ' Create a namespace manager
        Dim ns As XNamespace = "www.microsoft.com/SqlServer/Dts"
        Dim man As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
        man.AddNamespace("DTS", "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
            ' Extract package version and other properties using XPaths
            strPackageFormatVersion = xml.Root.Descendants(ns + "Property").Attributes(ns + "Name").Where(Function(x) x.Value = "PackageFormatVersion").FirstOrDefault.Parent.Value
            ' ... (Additional property extraction using XPaths)
        End If

        ' Add package information to the list
        m_lst.Add(New PackageInfo With {
                        .PackageFileName = strFile,
                        .PackageFormatVersion = strPackageFormatVersion,
                        ' ... (Additional properties)
                    })
    Next
End Sub
로그인 후 복사

위 내용은 여러 .dtsx 파일에서 버전 번호 검색을 자동화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿