diff --git a/SpravatoETL/Project.params b/SpravatoETL/Project.params index e96cf0b..2c5a430 100644 --- a/SpravatoETL/Project.params +++ b/SpravatoETL/Project.params @@ -84,4 +84,26 @@ SSIS:Name="DataType">9 + + + {7bf9749f-aa68-45c5-84e1-4d2a86a6936d} + + + 0 + 0 + 1 + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAO6XIHfjZM0evaVyi8h5QcgAAAAACAAAAAAADZgAAwAAAABAAAABXtvAOflpVVuFha38tYq24AAAAAASAAACgAAAAEAAAACVOTmTgP6rrDmXAeMUcuC2IAAAAVIYGuzULsOAML+qPJJrJxdOuPwCwgdIhn6EGIoVyc8TAOU/fm0blq0Rbm5HYcif6AcBN0xC5cPzepShyzWbZLZC3AywJfm+112HxOM4LIVDrDwGFz1QBedrD2W+KBzmTrYxGYhBkwMbF3RNXaz/H5KTC+UcDcE0dydj0biRg1tr4MBHfRmOtYxQAAAB4ewSEE5otKg6lVmMatmUm1v0Jcw== + 18 + + \ No newline at end of file diff --git a/SpravatoETL/SpravatoAuditImport.dtsx b/SpravatoETL/SpravatoAuditImport.dtsx index 4384ea5..819ccdc 100644 --- a/SpravatoETL/SpravatoAuditImport.dtsx +++ b/SpravatoETL/SpravatoAuditImport.dtsx @@ -12,8 +12,8 @@ DTS:LocaleID="1033" DTS:ObjectName="SpravatoAuditImport" DTS:PackageType="5" - DTS:VersionBuild="109" - DTS:VersionGUID="{5F87FC6D-9C4C-4820-8498-EE6381757922}"> + DTS:VersionBuild="129" + DTS:VersionGUID="{8F886508-44BE-4036-AD70-D38ECB4FEEDE}"> 8 @@ -34,13 +34,15 @@ DTS:CreationName="ODBC" DTS:DTSID="{0CD9C645-D57D-475B-9EBD-BA739975849E}" DTS:ObjectName="CM_PostgresQL_DR"> + @[$Package::PostgreSQLPassword] + DTS:ConnectionString="server=10.135.214.23;uid=mulhall_john;Driver={PostgreSQL Unicode(x64)};database=Livedb;port=5432;sslmode=disable;readonly=0;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;lfconversion=1;updatablecursors=1;trueisminus1=0;bi=0;byteaaslongvarbinary=1;useserversideprepare=1;lowercaseidentifier=0;d6=-101;optionalerrors=0;fetchrefcursors=0;xaopt=1;"> AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA3sg5/WnZgE6AXM2AQAN7vwAAAAAIAAAARABUAFMAAAAQZgAAAAEAACAAAAB1dbVU8vLemeWfrjjWEe1eqVdWGpvrW1wCn1SnHf9NIwAAAAAOgAAAAAIAACAAAADFuGffLMThqULClBz6q32PSrZcoQPIioWQtY0Qp70lrkAAAACb4UCu7KG5gz3SC8n7mTylQuNWOJaS0H/zlsfBB7vqR6QvwEipEdG9yPXTH38c6GaMP+CdA2eRA/e2fUE67zROQAAAANtfSOYuYe/uEw8HZwxLPRGxyj8x7oGRx0WOSXWnHcb1nSx75wjjh47/k3j0lBmGNmb7+0vohQKzU2Ncw6P98LM + Encrypted="1">AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAO6XIHfjZM0evaVyi8h5QcgAAAAAIAAAARABUAFMAAAADZgAAwAAAABAAAACVT0ETvHS3ZGi8Jhk/kqXNAAAAAASAAACgAAAAEAAAAMpyDqhCwyGFqSDlfPhfPIwwAAAAWqfgAZCtlLoC26CGhdpFKTr1j5YLQZ6hCfW3Wp6B2dAsDV5JBO9fyAl+2XVvN8a8FAAAAIzS2j4BIaQwWUdGfJTz/srrtLbI @@ -76,6 +78,20 @@ DTS:DataType="8" DTS:Name="ParameterValue">SpravatoAuditImport + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAO6XIHfjZM0evaVyi8h5QcgAAAAAIAAAARABUAFMAAAADZgAAwAAAABAAAACz96UjvIVyejw0WUJKEFqnAAAAAASAAACgAAAAEAAAABfKUtFhuhBHTatg/GtYxKQwAAAAxWe4YTcEgRm81mFPKp9tEhj4mH/iOfMaKU9gLxs7It7BRMkFWJ8kfxt5IflPVFOqFAAAAKGfAYkHQEGTjuBo5dAI717TJJHC + + + FileSpec="Admin Vs Dispensed SMC20260104-0110.xlsx" /> + DTS:ThreadHint="3"> + + + + + + + DTS:ThreadHint="3"> dataType="System.String" description="The name of the table to be fetched." expressionType="Notify" - name="TableName"> + name="TableName">"public"."spravato_audit" hasSideEffects="true" name="ODBC Destination Input" truncationRowDisposition="FailComponent"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + isUsed="True"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5463,6 +5977,133 @@ namespace ST_e1ef9c54be554a589a679829e6fb5458 #endregion } }]]> + +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace ST_e1ef9c54be554a589a679829e6fb5458.Properties { + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if ((resourceMan == null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +}]]> + + + + ST_e1ef9c54be554a589a679829e6fb5458 + msBuild + ST_e1ef9c54be554a589a679829e6fb5458 + {6E4E6492-840B-4BB3-9701-F7841170C928} + + + + + + + + + + +]]> + + + + + + + +]]> @@ -5549,133 +6190,6 @@ namespace ST_e1ef9c54be554a589a679829e6fb5458 ]]> - - - - ST_e1ef9c54be554a589a679829e6fb5458 - msBuild - ST_e1ef9c54be554a589a679829e6fb5458 - {6E4E6492-840B-4BB3-9701-F7841170C928} - - - - - - - - - - -]]> - - - - - - - -]]> - -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.get_ResourceManager():System.Resources.Resou" + - "rceManager")] -[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.get_Culture():System.Globalization.CultureIn" + - "fo")] -[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + - "):Void")] - -namespace ST_e1ef9c54be554a589a679829e6fb5458.Properties { - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if ((resourceMan == null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ST_e1ef9c54be554a589a679829e6fb5458.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -}]]> TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v @@ -5883,6 +6397,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= DTS:CreationName="Microsoft.ExecuteSQLTask" DTS:DelayValidation="True" DTS:Description="Execute SQL Task" + DTS:Disabled="True" DTS:DTSID="{EFA0601C-FF25-4C45-B8AC-EEDF3373A8AF}" DTS:ExecutableType="Microsoft.ExecuteSQLTask" DTS:LocaleID="-1" @@ -5893,7 +6408,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + SQLTask:SqlStatementSource="DELETE FROM public.spravato_audit WHERE file_load_id = ?;" xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask"> DTS:LocaleID="-1" DTS:ObjectName="Reconcile PostgreSQL File" DTS:TaskContact="Execute SQL Task; Microsoft Corporation; SQL Server 2025; © 2025 Microsoft Corporation; All Rights Reserved;http://www.microsoft.com/sql/support/default.asp;1" - DTS:ThreadHint="0"> + DTS:ThreadHint="3"> + SQLTask:SqlStatementSource="DELETE FROM public.spravato_audit WHERE source_file_path = ? AND file_load_id <> ?;" xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask"> DTS:LocaleID="-1" DTS:ObjectName="TEST - Force Failure" DTS:TaskContact="Execute SQL Task; Microsoft Corporation; SQL Server 2025; © 2025 Microsoft Corporation; All Rights Reserved;http://www.microsoft.com/sql/support/default.asp;1" - DTS:ThreadHint="1"> + DTS:ThreadHint="2"> DTS:LocaleID="-1" DTS:ObjectName="Validate PostgreSQL Row Count" DTS:TaskContact="Execute SQL Task; Microsoft Corporation; SQL Server 2025; © 2025 Microsoft Corporation; All Rights Reserved;http://www.microsoft.com/sql/support/default.asp;1" - DTS:ThreadHint="0"> + DTS:ThreadHint="1"> DTS:LogicalAnd="True" DTS:ObjectName="Constraint 11" DTS:To="Package\ForEach Spravato File\Increment Files Processed" /> + + @@ -6190,7 +6723,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + SQLTask:SqlStatementSource="UPDATE etl.file_load SET status = 'FAILED', error_message = CONCAT( 'Failed task: ', ?, CHAR(13), CHAR(10), ? ) WHERE file_load_id = ? AND status IN ('PROCESSING', 'SQLSERVER_COMPLETE');" xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask"> + + + + + + + + + + + + + + @@ -7499,7 +8054,35 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + @@ -7769,10 +8352,10 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + TopLeft="485,147" /> + TopLeft="586.75,99"> design-time-name="Package\ForEach Spravato File\Load Spravato Stage"> + Capacity="8" xmlns="clr-namespace:Microsoft.SqlServer.IntegrationServices.Designer.Model.Serialization;assembly=Microsoft.SqlServer.IntegrationServices.Graph" xmlns:mssgle="clr-namespace:Microsoft.SqlServer.Graph.LayoutEngine;assembly=Microsoft.SqlServer.Graph" xmlns:assembly="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mssgm="clr-namespace:Microsoft.SqlServer.Graph.Model;assembly=Microsoft.SqlServer.Graph"> - + - + - + diff --git a/SpravatoETL/SpravatoETL.dtproj b/SpravatoETL/SpravatoETL.dtproj index 643b439..fdcd0dd 100644 --- a/SpravatoETL/SpravatoETL.dtproj +++ b/SpravatoETL/SpravatoETL.dtproj @@ -16,7 +16,7 @@ {d1566dde-0222-428f-8454-2e0eeeeda4bd} SpravatoETL - 1 + 0 0 0 @@ -26,7 +26,7 @@ NB7014 - AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA3sg5/WnZgE6AXM2AQAN7vwAAAAACAAAAAAAQZgAAAAEAACAAAABCqDAh6TJLVzp+cQKnelqKVFrnNI9YB+nV7YyI2B21KQAAAAAOgAAAAAIAACAAAADmOzCCOoiLXv6JklvQ2iWPQ5Yew650bEGC0OJJKI/nXJAAAACRbUgZQT00qwEyEOpdkXW7Te5D0LGa4gsUNAf1U73CY2fmOR6b0Muj7Dz9dz5zK2vymopCgIIVYkwPEldLPS+QEL89gQSoTs3+MmhOG41BiRHYCyEsn6UhKLTiNUnzcVzHG1jeTvcQz/+35r8lmuefALSi1PWRqPT64l3pUMDna1YqPVZb/KR4FPDYFVcqrbtAAAAAfrfuBlITh5jl6dDV5YrFTd2P8QSAj9Z/4YMt7DXZDBayiHq0+cAI5GiC3HpAiFKxGRr6beCqM2WCF8CwzCIuYQ== + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAO6XIHfjZM0evaVyi8h5QcgAAAAACAAAAAAADZgAAwAAAABAAAABQu18TEEXYe/lkzTsDzE1AAAAAAASAAACgAAAAEAAAANdmPZY6HMGv1cxGbipEnuqIAAAAQnCWwWokDUzYsIkVvGo3O3uxiOLw4VTdzhIgg8SDUhI951hZZ1oH4pbkRXDI5fDvrkEP3do/4f3OwZy+Ev9LlWxCUPzEE/LKN+tzU35l/7BVt0lTKC7p5IK8TPNMO5JOE9vFegrxLxOFJDux3THkA/xXl4NhjfC/kP6qcRlyrWRAHIAcsSiBNBQAAADwy+cHdltAwpKeoALGRDwLeGSbyA== 1 @@ -42,10 +42,10 @@ SpravatoAuditImport 1 0 - 95 + 123 - {4D7F7092-C860-48FE-9531-53B753D32794} + {CBFE7C3F-083F-436B-9785-C3F01CA841D0} 8 @@ -80,6 +80,20 @@ 18 + + + {8CEE4C82-C3D7-482C-A4F0-EDA36DC13CD5} + + + + + 0 + 0 + 1 + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAO6XIHfjZM0evaVyi8h5QcgAAAAACAAAAAAADZgAAwAAAABAAAADanA3MDD48GGSmPtK5UEW4AAAAAASAAACgAAAAEAAAAD7K3EGIES0uwppwm75qQTuIAAAA3Cj5uCYZYWyrZs/KRcIOIKZ2YG+PCvipEATeTtT1WW8Mldsmzc1iFaAAC1+7W6xwOkTK7fkCQcefLo1z+Ik8EaFmXvOOfHfqpM048wWfBGgPsrlr5VRp00E6p5SGfk1iJVMyJNcyqcdGGy9yeB0cMIkg+rvNT50cNj5F2gFidzhw9kHqyrK7bhQAAAAq5HsPkzPi0obAiP6Z8FF+BNnbxQ== + 18 + + {C78245DC-BEF7-4412-A60F-57E08F0D942E} @@ -270,7 +284,7 @@ 0 0 0 - server=10.135.214.23;uid=mulhall_john;Driver={PostgreSQL Unicode(x64)};port=5432;database=postgres;sslmode=require; + server=10.135.214.23;uid=mulhall_john;Driver={PostgreSQL Unicode(x64)};database=Livedb;port=5432;sslmode=disable;readonly=0;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;lfconversion=1;updatablecursors=1;trueisminus1=0;bi=0;byteaaslongvarbinary=1;useserversideprepare=1;lowercaseidentifier=0;d6=-101;optionalerrors=0;fetchrefcursors=0;xaopt=1; 18 @@ -288,20 +302,6 @@ 18 - - - - - - - - - 0 - 0 - 1 - 18 - -