SQL Server에서 XML programmming에 대한 경험이 없지만 일부 코드를 사용하여 SQLStatementSource
내용을 SSIS 파일 (dtsx 파일 확장명) 밖으로 읽으려고합니다.SQL을 가져 오는 방법
온라인으로이 코드를 찾았으며 상단에 세 번째 구성 요소 인 SQLStatementSource
을 추가했지만 아무 것도 반환하지 않습니다. dtsx 파일을 첨부하는 방법을 모르지만 모든 파일에서 사용할 수 있다고 가정합니다.
모든 포인터?
SELECT Pkg.props.value('declare namespace p1="www.microsoft.com/SqlServer/Dts";
./p1:Property[@p1:Name=''ObjectName''][1]','nvarchar(max)') as TaskName
, Pkg.props.value('declare namespace p1="www.microsoft.com/SqlServer/Dts";
./@p1:ExecutableType','nvarchar(max)') as TaskType
, Pkg.props.value('declare namespace p1="www.microsoft.com/SqlServer/Dts";
./@p1:SqlStatementSource','nvarchar(max)') as TaskSql
FROM (
select cast(pkgblob.BulkColumn as XML) pkgXML
from openrowset(bulk 'C:\Users\DSNoS\OneDrive\Documents\LoadingProviderContracts_New.dtsx',single_blob) as pkgblob
) t
CROSS APPLY pkgXML.nodes('declare namespace DTS="www.microsoft.com/SqlServer/Dts";
//DTS:Executable[@DTS:ExecutableType!=''STOCK:SEQUENCE''
and @DTS:ExecutableType!=''STOCK:FORLOOP''
and @DTS:ExecutableType!=''STOCK:FOREACHLOOP''
and not(contains(@DTS:ExecutableType,''.Package.''))]'
) Pkg(props)
이 질문이 해결 되었습니까? 추가 도움이 필요합니까? 나에게 한 가지 힌트를 허용하십시오.이 질문이 해결되면 (가장) 답변의 투표 카운터 아래에서 수락 확인을 확인하는 것이 매우 친절한 것입니다. 이것은 1)이 이슈를 해결 된 것으로 표시 할 것입니다. 2) 추종자가 가장 좋은 해결책을 쉽게 찾을 수 있도록합니다. 3) 응답자에게 포인트를 지불하고 4) 포인트를줍니다. 당신이 15 점을 넘었을 때, 당신은 - 추가로 - 기부금에 투표해야합니다. 이것은 당신을 감사하는 SO 방법입니다. 해피 코딩! – Shnugo