Ich habe keine Erfahrung in XML-Programmierung in Sql Server, aber versuche, etwas mit Code, um die SQLStatementSource
Inhalte aus einer SSIS-Datei (DTSX-Dateierweiterung) zu lesen.Wie man SQL zieht
Ich fand diesen Code online und fügte die dritte Komponente an der Spitze für SQLStatementSource
hinzu, aber ich gebe nichts zurück. Ich weiß nicht, wie man eine dtsx-Datei anhängt, aber ich nehme an, dass es auf irgendwelchen verwendet werden könnte.
Irgendwelche Zeiger?
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)
Ist diese Frage gelöst? Brauchen Sie weitere Hilfe? Bitte erlauben Sie mir einen Hinweis: Wenn diese Frage gelöst ist, wäre es sehr nett von Ihnen, die Akzeptanzprüfung unter dem Stimmzähler der (besten) Antwort anzukreuzen. Dies wird 1) dieses Problem als gelöst markieren 2) es den Anhängern erleichtern, die beste Lösung zu finden 3) Punkte an den Beantworter zu zahlen und 4) Punkte an Sie zu zahlen. Wenn Sie die Grenze von 15 Punkten überschritten haben, werden Sie zusätzlich gebeten, über Beiträge zu stimmen. Dies ist der SO-Weg, um Danke zu sagen. Glückliche Kodierung! – Shnugo