diff --git a/SpravatoETL.sln b/SpravatoETL.sln
new file mode 100644
index 0000000..027c343
--- /dev/null
+++ b/SpravatoETL.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.37111.16 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{C9674DCB-5085-4A16-B785-4C70DD1589BD}") = "SpravatoETL", "SpravatoETL\SpravatoETL.dtproj", "{0B5D5945-F29B-AAF6-E5E7-F2738F4393D2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Development|Default = Development|Default
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0B5D5945-F29B-AAF6-E5E7-F2738F4393D2}.Development|Default.ActiveCfg = Development
+ {0B5D5945-F29B-AAF6-E5E7-F2738F4393D2}.Development|Default.Build.0 = Development
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {2500841B-4D6F-4C78-83AA-DA381D0BD3BA}
+ EndGlobalSection
+EndGlobal
diff --git a/SpravatoETL/Project.params b/SpravatoETL/Project.params
new file mode 100644
index 0000000..8caaee5
--- /dev/null
+++ b/SpravatoETL/Project.params
@@ -0,0 +1,66 @@
+
+
+
+
+ {4fb06a72-bf7c-49f7-8882-0eafdaa1ebbc}
+
+
+ 0
+ 0
+ 0
+ omnicellELTmail
+ 18
+
+
+
+
+ {76c84104-13da-41ce-ace4-5ce6f177b0f2}
+
+
+ 0
+ 0
+ 0
+ jmulhall@brattlebororetreat.org; jnewton@brattlebororetreat.org
+ 18
+
+
+
+
+ {41fb775a-d348-4ca7-872c-5606a11437c9}
+
+
+ 0
+ 0
+ 0
+ jmulhall@brattlebororetreat.org
+ 18
+
+
+
\ No newline at end of file
diff --git a/SpravatoETL/SpravatoAuditImport.dtsx b/SpravatoETL/SpravatoAuditImport.dtsx
new file mode 100644
index 0000000..5060297
--- /dev/null
+++ b/SpravatoETL/SpravatoAuditImport.dtsx
@@ -0,0 +1,7168 @@
+
+
+ 8
+
+
+
+
+
+
+
+
+
+ AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA3sg5/WnZgE6AXM2AQAN7vwAAAAAIAAAARABUAFMAAAAQZgAAAAEAACAAAAAaXht5dLqn+z7ozOwacyZ7BmIb1G5RWYYItmattlyL7AAAAAAOgAAAAAIAACAAAAAJv8hz2eXum5xNI/bZPXyKVmwgBJWNvZlxs9ciQNte1kAAAADudeg19cOlvLiqLYGHuTbIp2wBAvARhpy8ILfWPSbnIBGkAqQzDCkFBtWqt8B8Us/fgoOhwEfGr4bSMZ5lBRFxQAAAAGnOcRTb0CB+E4eZMc16NRUIiSJN8Mk+oYkNUY5KxAb7Xi2oiBjurZSCC3ogsjKVakSYxReBGP8em9HaaCE1l3E
+
+
+
+
+
+
+
+
+
+
+
+ Admin vs Dispensed SMC*.xlsx
+
+
+ SpravatoAuditImport
+
+
+ \\retreathealthcare.org\network\Data\PHRMCY\Pharmacy Metrics\2026 Metrics\2026 Spravato Audit
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 8/25/2026 3:54:41 PM
+
+
+
+
+
+ \\retreathealthcare.org\network\Data\
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+]]>
+
+// 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_26e779e5f0794098bd25498a1ddbf8d9.Properties.Settings.get_Default():ST_26e779e5f0794098bd25498a1ddbf8d9.Properties.Sett" +
+ "ings")]
+
+namespace ST_26e779e5f0794098bd25498a1ddbf8d9.Properties {
+
+
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ private static Settings defaultInstance = new Settings();
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}]]>
+
+ /// ScriptMain is the entry point class of the script. Do not change the name, attributes,
+ /// or parent of this class.
+ ///
+ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
+ public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
+ {
+ #region Help: Using Integration Services variables and parameters in a script
+ /* To use a variable in this script, first ensure that the variable has been added to
+ * either the list contained in the ReadOnlyVariables property or the list contained in
+ * the ReadWriteVariables property of this script task, according to whether or not your
+ * code needs to write to the variable. To add the variable, save this script, close this instance of
+ * Visual Studio, and update the ReadOnlyVariables and
+ * ReadWriteVariables properties in the Script Transformation Editor window.
+ * To use a parameter in this script, follow the same steps. Parameters are always read-only.
+ *
+ * Example of reading from a variable:
+ * DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value;
+ *
+ * Example of writing to a variable:
+ * Dts.Variables["User::myStringVariable"].Value = "new value";
+ *
+ * Example of reading from a package parameter:
+ * int batchId = (int) Dts.Variables["$Package::batchId"].Value;
+ *
+ * Example of reading from a project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].Value;
+ *
+ * Example of reading from a sensitive project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();
+ * */
+
+ #endregion
+
+ #region Help: Firing Integration Services events from a script
+ /* This script task can fire events for logging purposes.
+ *
+ * Example of firing an error event:
+ * Dts.Events.FireError(18, "Process Values", "Bad value", "", 0);
+ *
+ * Example of firing an information event:
+ * Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain)
+ *
+ * Example of firing a warning event:
+ * Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0);
+ * */
+ #endregion
+
+ #region Help: Using Integration Services connection managers in a script
+ /* Some types of connection managers can be used in this script task. See the topic
+ * "Working with Connection Managers Programatically" for details.
+ *
+ * Example of using an ADO.Net connection manager:
+ * object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction);
+ * SqlConnection myADONETConnection = (SqlConnection)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Sales DB"].ReleaseConnection(rawConnection);
+ *
+ * Example of using a File connection manager
+ * object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction);
+ * string filePath = (string)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection);
+ * */
+ #endregion
+
+
+ ///
+ /// This method is called when this script task executes in the control flow.
+ /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
+ /// To open Help, press F1.
+ ///
+ public void Main()
+ {
+ int filesProcessed =
+ (int)Dts.Variables["User::FilesProcessed"].Value;
+
+ Dts.Variables["User::FilesProcessed"].Value =
+ filesProcessed + 1;
+
+ Dts.TaskResult = (int)ScriptResults.Success;
+ }
+
+ #region ScriptResults declaration
+ ///
+ /// This enum provides a convenient shorthand within the scope of this class for setting the
+ /// result of the script.
+ ///
+ /// This code was generated automatically.
+ ///
+ enum ScriptResults
+ {
+ Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
+ Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
+ };
+ #endregion
+
+ }
+}]]>
+
+
+
+ {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {29C0C7AE-3B2A-4F11-8197-7AEEDB099377}
+ Library
+ Properties
+ ST_26e779e5f0794098bd25498a1ddbf8d9
+ ST_26e779e5f0794098bd25498a1ddbf8d9
+ v4.7.2
+ 512
+ true
+
+
+
+ true
+ full
+ false
+ .\bin\Debug\
+ false
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+
+ false
+ true
+ .\bin\Release\
+ false
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ True
+ Resources.resx
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SSIS_ST170
+
+
+
+
+]]>
+
+
+
+ msBuild
+ ST_26e779e5f0794098bd25498a1ddbf8d9
+ ST_26e779e5f0794098bd25498a1ddbf8d9
+ {AD850714-D1B7-4DBA-8149-468A6E1AC14B}
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
+
+]]>
+
+// 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_26e779e5f0794098bd25498a1ddbf8d9.Properties.Resources.get_ResourceManager():System.Resources.Resou" +
+ "rceManager")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_26e779e5f0794098bd25498a1ddbf8d9.Properties.Resources.get_Culture():System.Globalization.CultureIn" +
+ "fo")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_26e779e5f0794098bd25498a1ddbf8d9.Properties.Resources.set_Culture(System.Globalization.CultureInfo" +
+ "):Void")]
+
+namespace ST_26e779e5f0794098bd25498a1ddbf8d9.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_26e779e5f0794098bd25498a1ddbf8d9.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
+ZGUuDQ0KJAAAAAAAAABQRQAATAEDADX6p2oAAAAAAAAAAOAAIiALATAAAA4AAAAIAAAAAAAAyi0A
+AAAgAAAAQAAAAAAAEAAgAAAAAgAABAAAAAAAAAAGAAAAAAAAAACAAAAAAgAAAAAAAAMAYIUAABAA
+ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAHgtAABPAAAAAEAAAHgEAAAAAAAAAAAAAAAAAAAA
+AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA0A0AAAAgAAAADgAAAAIA
+AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAHgEAAAAQAAAAAYAAAAQAAAAAAAAAAAAAAAAAABAAABA
+LnJlbG9jAAAMAAAAAGAAAAACAAAAFgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACs
+LQAAAAAAAEgAAAACAAUAFCEAAKwLAAABAAAAAAAAAMAsAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwAwBPAAAAAQAAEQIoEAAACm8RAAAKcgEAAHBvEgAACm8T
+AAAKpRsAAAEKAigQAAAKbxEAAApyAQAAcG8SAAAKBhdYjBsAAAFvFAAACgIoEAAAChZvFQAACioe
+AigWAAAKKh4CKBcAAAoqrn4BAAAELR5yKwAAcNADAAACKBgAAApvGQAACnMaAAAKgAEAAAR+AQAA
+BCoafgIAAAQqHgKAAgAABCoafgMAAAQqHgIoGwAACioucwgAAAaAAwAABCoAAABCU0pCAQABAAAA
+AAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAADEAwAAI34AADAEAABkBQAAI1N0cmluZ3MAAAAAlAkA
+AKAAAAAjVVMANAoAABAAAAAjR1VJRAAAAEQKAABoAQAAI0Jsb2IAAAAAAAAAAgAAAVcdogEJAwAA
+APoBMwAWAAABAAAAHgAAAAUAAAAGAAAACQAAAAEAAAAbAAAAAgAAABAAAAABAAAAAgAAAAMAAAAE
+AAAAAQAAAAQAAAABAAAAAQAAAAAAfAMBAAAAAAAGACsCTAQGALoCTAQGAHcBOQQPAMAEAAAGAKQB
++gMGAA4C+gMGAO8B+gMGAKEC+gMGAEsC+gMGAGQC+gMGALsB+gMGANYB8gIKAH8CKwMKAPYAKwMG
+ALQDrQMGAFoBOQQGADMFrQMGABwEbAQGAAwE5QMOACoBZgMOAIsBZgMOABIB0AMGAD8BTAQKAFQD
+KwMSAAIFoQASAHQAoQAGAAEArQMGAMEArQMGAH0ArQMGAFkF+gMAAAAAKwAAAAAAAQABAAEAEADF
+AwcAOQABAAEAAAAQAHMEzwRFAAEAAwAAARAADAXPBFkAAwAHAAMBAAAlBQAAPQAEAAoAEQC5A2cA
+EQDmAGsAEQBkAG8ABgZTAHMAVoAVBXYAVoDGAHYAUCAAAAAAhgDLAwYAAQCrIAAAAACGGCwEBgAB
+ALMgAAAAAIMYLAQGAAEAuyAAAAAAkwgYBHoAAQDnIAAAAACTCM4AfwABAO4gAAAAAJMI2gCEAAEA
+9iAAAAAAlgg6BYoAAgD9IAAAAACGGCwEBgACAAUhAAAAAJEYMgSPAAIAAAABAOwCCQAsBAEAEQAs
+BAYAGQAsBAoAKQAsBBAAMQAsBBAAOQAsBBAAQQAsBBAASQAsBBAAUQAsBBAAWQAsBBAAYQAsBBAA
+aQAsBAYAgQAsBAYAqQAsBBUAuQAsBAYAcQAdBR8AwQD+BCQAyQCkAykA0QDYAi8A0QDiAjMAwQBG
+BQEAcQAsBAYAiQAsBAYA4QCPADgA4QBVBT8AkQAsBEQAsQAsBAYACAAUAF0ACAAYAGIAKQBzAMoA
+LgALAKIALgATAKsALgAbAMoALgAjANMALgArAPwALgAzAPwALgA7APwALgBDANMALgBLAAIBLgBT
+APwALgBbABkBQwBjAGIASQBzAMoAYQB7AGIAYwBrAGIAGwADAAEABAADAAAAHASTAAAA7gCYAAAA
+PgWdAAIABAADAAIABQAFAAEABgAFAAIABwAHAASAAAABAAAAGSZ6RAAAAAAAAAcAAAAEAAAAAAAA
+AAAAAABLAFsAAAAAABEAAAAAAAAAAAAAAFQADAMAAAAABAAAAAAAAAAAAAAASwCtAwAAAAARAAAA
+AAAAAAAAAABUADQAAAAAAAAAAAABAAAAfQQAAAUAAgAAAAAAAEludDMyAFNUXzI2ZTc3OWU1ZjA3
+OTQwOThiZDI1NDk4YTFkZGJmOGQ5ADxNb2R1bGU+AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFuYWdl
+ZERUUwB2YWx1ZV9fAG1zY29ybGliAGRlZmF1bHRJbnN0YW5jZQBWYXJpYWJsZQBSdW50aW1lVHlw
+ZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1l
+AFR5cGUARmFpbHVyZQBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQByZXNvdXJjZUN1bHR1cmUAVlNU
+QVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAEVkaXRvckJy
+b3dzYWJsZVN0YXRlAENvbXBpbGVyR2VuZXJhdGVkQXR0cmlidXRlAERlYnVnZ2VyTm9uVXNlckNv
+ZGVBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUA
+QXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBUYXJnZXRG
+cmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2VtYmx5
+RGVzY3JpcHRpb25BdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBBc3Nl
+bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAU1NJU1Njcmlw
+dFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1l
+Q29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBnZXRfVmFsdWUAc2V0X1ZhbHVlAHZhbHVlAFN5c3RlbS5S
+dW50aW1lLlZlcnNpb25pbmcATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29m
+dC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAU2NyaXB0T2JqZWN0TW9kZWwAU3lzdGVt
+LkNvbXBvbmVudE1vZGVsAFNUXzI2ZTc3OWU1ZjA3OTQwOThiZDI1NDk4YTFkZGJmOGQ5LmRsbABn
+ZXRfSXRlbQBTeXN0ZW0ARW51bQByZXNvdXJjZU1hbgBTY3JpcHRNYWluAFN5c3RlbS5Db25maWd1
+cmF0aW9uAFN5c3RlbS5HbG9iYWxpemF0aW9uAFN5c3RlbS5SZWZsZWN0aW9uAEN1bHR1cmVJbmZv
+AGdldF9SZXNvdXJjZU1hbmFnZXIALmN0b3IALmNjdG9yAFN5c3RlbS5EaWFnbm9zdGljcwBTeXN0
+ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFN5c3RlbS5SZXNvdXJjZXMAU1RfMjZlNzc5ZTVm
+MDc5NDA5OGJkMjU0OThhMWRkYmY4ZDkuUHJvcGVydGllcy5SZXNvdXJjZXMucmVzb3VyY2VzAERl
+YnVnZ2luZ01vZGVzAFNUXzI2ZTc3OWU1ZjA3OTQwOThiZDI1NDk4YTFkZGJmOGQ5LlByb3BlcnRp
+ZXMAZ2V0X1ZhcmlhYmxlcwBTZXR0aW5ncwBTdWNjZXNzAGdldF9EdHMAU2NyaXB0UmVzdWx0cwBP
+YmplY3QAZ2V0X0RlZmF1bHQAc2V0X1Rhc2tSZXN1bHQAZ2V0X0Fzc2VtYmx5AAAAAClVAHMAZQBy
+ADoAOgBGAGkAbABlAHMAUAByAG8AYwBlAHMAcwBlAGQAAHFTAFQAXwAyADYAZQA3ADcAOQBlADUA
+ZgAwADcAOQA0ADAAOQA4AGIAZAAyADUANAA5ADgAYQAxAGQAZABiAGYAOABkADkALgBQAHIAbwBw
+AGUAcgB0AGkAZQBzAC4AUgBlAHMAbwB1AHIAYwBlAHMAAAAAAGjmsJAmpThIvsqxL9AmSvgABCAB
+AQgDIAABBSABARERBCABAQ4FIAEBEVEDBwEIBCAAEmEEIAASZQUgARJpHAMgABwEIAEBHAYAARJx
+EXUEIAASeQYgAgEOEnkIt3pcVhk04IkIiYRdzYCAzJEEAAAAAAQBAAAAAwYSSQMGEk0DBhIQAgYI
+AwYRFAQAABJJBAAAEk0FAAEBEk0EAAASEAMAAAEECAASSQQIABJNBAgAEhAIAQAIAAAAAAAeAQAB
+AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAAKAEAI1NUXzI2ZTc3OWU1ZjA3OTQw
+OThiZDI1NDk4YTFkZGJmOGQ5AAAFAQAAAAAWAQARQ29weXJpZ2h0IEAgIDIwMjYAAE0BABwuTkVU
+RnJhbWV3b3JrLFZlcnNpb249djQuNy4yAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRQuTkVUIEZy
+YW1ld29yayA0LjcuMgC0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VS
+ZWFkZXIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj
+S2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNvdXJj
+ZVNldAIAAAAAAAAAAAAAAFBBRFBBRFC0AAAAoC0AAAAAAAAAAAAAui0AAAAgAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAKwtAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAA
+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAA
+AAAASAAAAFhAAAAaBAAAAAAAAAAAAAAaBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYA
+TwAAAAAAvQTv/gAAAQAAAAEAekQZJgAAAQB6RBkmPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAA
+AEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkA
+bwBuAAAAAAAAALAEegMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAVgMAAAEAMAAw
+ADAAMAAwADQAYgAwAAAAGgABAAEAQwBvAG0AbQBlAG4AdABzAAAAAAAAACIAAQABAEMAbwBtAHAA
+YQBuAHkATgBhAG0AZQAAAAAAAAAAAHAAJAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBu
+AAAAAABTAFQAXwAyADYAZQA3ADcAOQBlADUAZgAwADcAOQA0ADAAOQA4AGIAZAAyADUANAA5ADgA
+YQAxAGQAZABiAGYAOABkADkAAAA+AA8AAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAw
+AC4AOQA3ADUAMwAuADEANwA1ADMAMAAAAAAAcAAoAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUA
+AABTAFQAXwAyADYAZQA3ADcAOQBlADUAZgAwADcAOQA0ADAAOQA4AGIAZAAyADUANAA5ADgAYQAx
+AGQAZABiAGYAOABkADkALgBkAGwAbAAAAEgAEgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgA
+dAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAAMgAwADIANgAAACoAAQABAEwAZQBnAGEAbABU
+AHIAYQBkAGUAbQBhAHIAawBzAAAAAAAAAAAAeAAoAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUA
+bgBhAG0AZQAAAFMAVABfADIANgBlADcANwA5AGUANQBmADAANwA5ADQAMAA5ADgAYgBkADIANQA0
+ADkAOABhADEAZABkAGIAZgA4AGQAOQAuAGQAbABsAAAAaAAkAAEAUAByAG8AZAB1AGMAdABOAGEA
+bQBlAAAAAABTAFQAXwAyADYAZQA3ADcAOQBlADUAZgAwADcAOQA0ADAAOQA4AGIAZAAyADUANAA5
+ADgAYQAxAGQAZABiAGYAOABkADkAAABCAA8AAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4A
+AAAxAC4AMAAuADkANwA1ADMALgAxADcANQAzADAAAAAAAEYADwABAEEAcwBzAGUAbQBiAGwAeQAg
+AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADkANwA1ADMALgAxADcANQAzADAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAMAAAAzD0A
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+
+
+
+
+
+
+
+
+
+
+ 1000
+ 1000
+ 32768
+ 0
+ 1252
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ SELECT
+ spravato_audit_id,
+ file_load_id,
+ source_file_name,
+ source_row_number,
+ location,
+ comments,
+ acct_num,
+ reg_type,
+ reg_status,
+ rx_number,
+ patient_name,
+ mnemonic,
+ drug_id,
+ description,
+ route,
+ frequency,
+ schedule,
+ disp_unit,
+ admin_unit,
+ total_dispensed,
+ admin_dose,
+ label,
+ dose,
+ clinical_indication,
+ prn_reason,
+ start_date,
+ discontinue_date,
+ total_charges,
+ dea,
+ drug_class,
+ usage_type,
+ verifying_user,
+ verifying_date,
+ order_user,
+ provider,
+ priority,
+ quantity,
+ row_hash_sha256,
+ created_at
+FROM finished.spravato_audit
+WHERE file_load_id = ?;
+
+ 1252
+ false
+ 2
+ "Parameter0:Input",{365414B1-D7DC-4D70-BB44-DF02495BE1EB};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+]]>
+
+
+
+
+
+
+
+
+
+// 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="SC_d93412f4efff4c09802da49b8d7fa8e5.Properties.Settings.get_Default():SC_d93412f4efff4c09802da49b8d7fa8e5.Properties.Sett" +
+ "ings")]
+
+namespace SC_d93412f4efff4c09802da49b8d7fa8e5.Properties {
+
+
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ private static Settings defaultInstance = new Settings();
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
+]]>
+
+
+
+
+
+ {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {807BAE93-72BE-40D2-BED1-D40B763353EF}
+ Library
+ Properties
+ SC_d93412f4efff4c09802da49b8d7fa8e5
+ SC_d93412f4efff4c09802da49b8d7fa8e5
+ v4.7
+ 512
+ true
+
+
+
+ true
+ full
+ false
+ .\bin\Debug\
+ false
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ false
+ true
+ .\bin\Release\
+ false
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ True
+ Resources.resx
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+
+
+
+
+
+
+
+
+
+
+
+ SSIS_SC170
+
+
+
+
+]]>
+
+
+
+
+
+ SC_d93412f4efff4c09802da49b8d7fa8e5
+ msBuild
+ SC_d93412f4efff4c09802da49b8d7fa8e5
+ {DE17F295-F4AB-4BE0-A918-3AF3DA669284}
+
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+// 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="SC_d93412f4efff4c09802da49b8d7fa8e5.Properties.Resources.get_ResourceManager():System.Resources.Resou" +
+ "rceManager")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_d93412f4efff4c09802da49b8d7fa8e5.Properties.Resources.get_Culture():System.Globalization.CultureIn" +
+ "fo")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_d93412f4efff4c09802da49b8d7fa8e5.Properties.Resources.set_Culture(System.Globalization.CultureInfo" +
+ "):Void")]
+
+namespace SC_d93412f4efff4c09802da49b8d7fa8e5.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("SC_d93412f4efff4c09802da49b8d7fa8e5.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;
+ }
+ }
+ }
+}
+]]>
+
+
+
+
+
+
+
+
+ SC_d93412f4efff4c09802da49b8d7fa8e5
+ CSharp
+ User::CurrentFileLoadID
+
+
+
+
+ 07
+ Microsoft.ScriptComponentHost
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ [etl].[spravato_stage]
+
+
+ 1252
+ false
+ 3
+ false
+ false
+ TABLOCK,CHECK_CONSTRAINTS
+ 2147483647
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 'Spravato Audit$'
+
+ SELECT *
+FROM [Spravato Audit$A3:AG1048576]
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+]]>
+
+ /// ScriptMain is the entry point class of the script. Do not change the name, attributes,
+ /// or parent of this class.
+ ///
+ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
+ public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
+ {
+ #region Help: Using Integration Services variables and parameters in a script
+ /* To use a variable in this script, first ensure that the variable has been added to
+ * either the list contained in the ReadOnlyVariables property or the list contained in
+ * the ReadWriteVariables property of this script task, according to whether or not your
+ * code needs to write to the variable. To add the variable, save this script, close this instance of
+ * Visual Studio, and update the ReadOnlyVariables and
+ * ReadWriteVariables properties in the Script Transformation Editor window.
+ * To use a parameter in this script, follow the same steps. Parameters are always read-only.
+ *
+ * Example of reading from a variable:
+ * DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value;
+ *
+ * Example of writing to a variable:
+ * Dts.Variables["User::myStringVariable"].Value = "new value";
+ *
+ * Example of reading from a package parameter:
+ * int batchId = (int) Dts.Variables["$Package::batchId"].Value;
+ *
+ * Example of reading from a project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].Value;
+ *
+ * Example of reading from a sensitive project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();
+ * */
+
+ #endregion
+
+ #region Help: Firing Integration Services events from a script
+ /* This script task can fire events for logging purposes.
+ *
+ * Example of firing an error event:
+ * Dts.Events.FireError(18, "Process Values", "Bad value", "", 0);
+ *
+ * Example of firing an information event:
+ * Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain)
+ *
+ * Example of firing a warning event:
+ * Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0);
+ * */
+ #endregion
+
+ #region Help: Using Integration Services connection managers in a script
+ /* Some types of connection managers can be used in this script task. See the topic
+ * "Working with Connection Managers Programatically" for details.
+ *
+ * Example of using an ADO.Net connection manager:
+ * object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction);
+ * SqlConnection myADONETConnection = (SqlConnection)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Sales DB"].ReleaseConnection(rawConnection);
+ *
+ * Example of using a File connection manager
+ * object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction);
+ * string filePath = (string)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection);
+ * */
+ #endregion
+
+
+ ///
+ /// This method is called when this script task executes in the control flow.
+ /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
+ /// To open Help, press F1.
+ ///
+ public void Main()
+ {
+ string filePath =
+ Dts.Variables["User::CurrentFilePath"].Value.ToString();
+
+ // Reset per-file state.
+ Dts.Variables["User::SkipCurrentFile"].Value = false;
+ Dts.Variables["User::CurrentFileSkipReason"].Value = "";
+
+ // The Foreach enumerator found the file, even if we later defer it.
+ int filesFound =
+ (int)Dts.Variables["User::FilesFound"].Value;
+
+ Dts.Variables["User::FilesFound"].Value =
+ filesFound + 1;
+
+ try
+ {
+ System.IO.FileInfo fileInfo =
+ new System.IO.FileInfo(filePath);
+
+ Dts.Variables["User::CurrentFileName"].Value =
+ fileInfo.Name;
+
+ if (!fileInfo.Exists)
+ {
+ Dts.Variables["User::SkipCurrentFile"].Value = true;
+
+ Dts.Variables["User::CurrentFileSkipReason"].Value =
+ "File disappeared before processing.";
+
+ bool fireAgainMissing = false;
+
+ Dts.Events.FireWarning(
+ 0,
+ "Prepare Current File",
+ "Skipping file because it no longer exists: " + filePath,
+ "",
+ 0
+ );
+
+ Dts.TaskResult = (int)ScriptResults.Success;
+ return;
+ }
+
+ /*
+ * Try several times to obtain a read handle.
+ *
+ * FileShare.Read is intentional. We do not want to read a workbook
+ * while another process has it open for writing.
+ */
+ System.IO.FileStream stream = null;
+ System.IO.IOException lastIOException = null;
+
+ const int maxAttempts = 3;
+ const int waitMilliseconds = 2000;
+
+ for (int attempt = 1; attempt <= maxAttempts; attempt++)
+ {
+ try
+ {
+ stream = new System.IO.FileStream(
+ filePath,
+ System.IO.FileMode.Open,
+ System.IO.FileAccess.Read,
+ System.IO.FileShare.Read
+ );
+
+ break;
+ }
+ catch (System.IO.IOException ex)
+ {
+ lastIOException = ex;
+
+ if (attempt < maxAttempts)
+ {
+ System.Threading.Thread.Sleep(waitMilliseconds);
+ }
+ }
+ }
+
+ /*
+ * Still unavailable after retries:
+ * defer this workbook instead of failing the package.
+ */
+ if (stream == null)
+ {
+ Dts.Variables["User::SkipCurrentFile"].Value = true;
+
+ string reason =
+ "File is locked/in use after " +
+ maxAttempts.ToString() +
+ " attempts. It will be retried on the next ETL run.";
+
+ Dts.Variables["User::CurrentFileSkipReason"].Value =
+ reason;
+
+ int lockedFiles =
+ (int)Dts.Variables["User::LockedFilesSkipped"].Value;
+
+ Dts.Variables["User::LockedFilesSkipped"].Value =
+ lockedFiles + 1;
+
+ Dts.Events.FireWarning(
+ 0,
+ "Prepare Current File",
+ reason + " File: " + filePath,
+ "",
+ 0
+ );
+
+ Dts.TaskResult = (int)ScriptResults.Success;
+ return;
+ }
+
+ using (stream)
+ {
+ fileInfo.Refresh();
+
+ Dts.Variables["User::CurrentFileSize"].Value =
+ fileInfo.Length;
+
+ Dts.Variables["User::CurrentFileModified"].Value =
+ fileInfo.LastWriteTime;
+
+ Dts.Variables["User::CurrentFileDateText"].Value =
+ fileInfo.LastWriteTime.ToString("yyyy-MM-dd");
+
+ using (
+ System.Security.Cryptography.SHA256 sha256 =
+ System.Security.Cryptography.SHA256.Create()
+ )
+ {
+ byte[] hashBytes =
+ sha256.ComputeHash(stream);
+
+ string hash =
+ BitConverter.ToString(hashBytes)
+ .Replace("-", "")
+ .ToUpperInvariant();
+
+ Dts.Variables["User::CurrentFileHash"].Value =
+ hash;
+ }
+ }
+
+ bool fireAgain = false;
+
+ Dts.Events.FireInformation(
+ 0,
+ "Prepare Current File",
+ "Found: " +
+ fileInfo.Name +
+ " | Bytes: " +
+ fileInfo.Length.ToString() +
+ " | SHA256: " +
+ Dts.Variables["User::CurrentFileHash"].Value.ToString(),
+ "",
+ 0,
+ ref fireAgain
+ );
+
+ Dts.TaskResult =
+ (int)ScriptResults.Success;
+ }
+ catch (Exception ex)
+ {
+ /*
+ * Unexpected errors still fail the task.
+ * Only known file-access/locking conditions are deferred.
+ */
+ Dts.Events.FireError(
+ 0,
+ "Prepare Current File",
+ ex.ToString(),
+ "",
+ 0
+ );
+
+ Dts.TaskResult =
+ (int)ScriptResults.Failure;
+ }
+ }
+
+ #region ScriptResults declaration
+ ///
+ /// This enum provides a convenient shorthand within the scope of this class for setting the
+ /// result of the script.
+ ///
+ /// This code was generated automatically.
+ ///
+ enum ScriptResults
+ {
+ Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
+ Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
+ };
+ #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
+ {55D8D7B5-1798-4076-8C4F-BBAB2218ACA3}
+
+
+
+
+
+
+
+
+
+
+]]>
+
+// 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.Settings.get_Default():ST_e1ef9c54be554a589a679829e6fb5458.Properties.Sett" +
+ "ings")]
+
+namespace ST_e1ef9c54be554a589a679829e6fb5458.Properties {
+
+
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ private static Settings defaultInstance = new Settings();
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}]]>
+
+
+
+
+
+
+]]>
+
+
+
+ {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {29C0C7AE-3B2A-4F11-8197-7AEEDB099377}
+ Library
+ Properties
+ ST_e1ef9c54be554a589a679829e6fb5458
+ ST_e1ef9c54be554a589a679829e6fb5458
+ v4.7
+ 512
+ true
+
+
+
+ true
+ full
+ false
+ .\bin\Debug\
+ false
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ false
+ true
+ .\bin\Release\
+ false
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ True
+ Resources.resx
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+ SSIS_ST170
+
+
+
+
+]]>
+ TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
+ZGUuDQ0KJAAAAAAAAABQRQAATAEDAAYGqGoAAAAAAAAAAOAAIiALATAAABoAAAAIAAAAAAAAfjgA
+AAAgAAAAQAAAAAAAEAAgAAAAAgAABAAAAAAAAAAGAAAAAAAAAACAAAAAAgAAAAAAAAMAYIUAABAA
+ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAACw4AABPAAAAAEAAAHgEAAAAAAAAAAAAAAAAAAAA
+AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAhBgAAAAgAAAAGgAAAAIA
+AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAHgEAAAAQAAAAAYAAAAcAAAAAAAAAAAAAAAAAABAAABA
+LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABg
+OAAAAAAAAEgAAAACAAUAJCUAAFASAAABAAAAAAAAAHQ3AAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAABswCAD6AwAAAQAAEQIoEAAACm8RAAAKcgEAAHBvEgAACm8T
+AAAKbxQAAAoKAigQAAAKbxEAAApyLQAAcG8SAAAKFowhAAABbxUAAAoCKBAAAApvEQAACnJZAABw
+bxIAAApykQAAcG8VAAAKAigQAAAKbxEAAApykwAAcG8SAAAKbxMAAAqlIgAAAQsCKBAAAApvEQAA
+CnKTAABwbxIAAAoHF1iMIgAAAW8VAAAKBnMWAAAKDAIoEAAACm8RAAAKcrUAAHBvEgAACghvFwAA
+Cm8VAAAKCG8YAAAKLXcCKBAAAApvEQAACnItAABwbxIAAAoXjCEAAAFvFQAACgIoEAAACm8RAAAK
+clkAAHBvEgAACnLhAABwbxUAAAoCKBAAAApvGQAAChZyKQEAcHJTAQBwBigaAAAKcpEAAHAWbxsA
+AAoCKBAAAAoWbxwAAArdsgIAABQNFxMFKyUABhkXF3MdAAAKDd4dJhEFGS8KINAHAAAoHgAACt4A
+EQUXWBMFEQUZMdYJOtUAAAACKBAAAApvEQAACnItAABwbxIAAAoXjCEAAAFvFQAACnKrAQBwGRMI
+EggoHwAACnLlAQBwKCAAAAoTBgIoEAAACm8RAAAKclkAAHBvEgAAChEGbxUAAAoCKBAAAApvEQAA
+CnJLAgBwbxIAAApvEwAACqUiAAABEwcCKBAAAApvEQAACnJLAgBwbxIAAAoRBxdYjCIAAAFvFQAA
+CgIoEAAACm8ZAAAKFnIpAQBwEQZyfQIAcAYoIAAACnKRAABwFm8bAAAKAigQAAAKFm8cAAAK3aYB
+AAAJEwkIbyEAAAoCKBAAAApvEQAACnKNAgBwbxIAAAoIbyIAAAqMKgAAAW8VAAAKAigQAAAKbxEA
+AApyuQIAcG8SAAAKCG8jAAAKjBEAAAFvFQAACgIoEAAACm8RAAAKcu0CAHBvEgAACghvIwAAChMK
+EgpyIQMAcCgkAAAKbxUAAAooJQAAChMLEQsJbyYAAAooJwAACnI3AwBwcpEAAHBvKAAACm8pAAAK
+EwwCKBAAAApvEQAACnI7AwBwbxIAAAoRDG8VAAAK3gwRCywHEQtvKgAACtzeDBEJLAcRCW8qAAAK
+3BYTBAIoEAAACm8ZAAAKFnIpAQBwHI0lAAABJRZyZwMAcKIlFwhvFwAACqIlGHJ3AwBwoiUZCG8i
+AAAKEw0SDSgrAAAKoiUaco0DAHCiJRsCKBAAAApvEQAACnI7AwBwbxIAAApvEwAACm8UAAAKoigs
+AAAKcpEAAHAWEgRvLQAACgIoEAAAChZvHAAACt40Ew4CKBAAAApvGQAAChZyKQEAcBEObxQAAApy
+kQAAcBZvLgAACiYCKBAAAAoXbxwAAAreACoAAEFkAAAAAAAATwEAAAwAAABbAQAAEgAAABQAAAEC
+AAAA2wIAAEEAAAAcAwAADAAAAAAAAAACAAAAVgIAANQAAAAqAwAADAAAAAAAAAAAAAAAoQAAACQD
+AADFAwAANAAAABMAAAEeAigvAAAKKh4CKDAAAAoqrn4BAAAELR5ypQMAcNADAAACKDEAAApvMgAA
+CnMzAAAKgAEAAAR+AQAABCoafgIAAAQqHgKAAgAABCoafgMAAAQqHgIoNAAACioucwgAAAaAAwAA
+BCoAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwEAAAjfgAAOAUAAPwGAAAj
+U3RyaW5ncwAAAAA0DAAAGAQAACNVUwBMEAAAEAAAACNHVUlEAAAAXBAAAPQBAAAjQmxvYgAAAAAA
+AAACAAABVx2iAQkDAAAA+gEzABYAAAEAAAAxAAAABQAAAAYAAAAJAAAAAQAAADQAAAACAAAAEAAA
+AAEAAAACAAAAAwAAAAQAAAABAAAABAAAAAEAAAABAAAAAAA5BAEAAAAAAAYAowKPBQYAMgOPBQYA
+7wF8BQ8AAwYAAAYAHALoBAYAhgLoBAYAZwLoBAYAGQPoBAYAwwLoBAYA3ALoBAYAMwLoBAYATgJ7
+AwoA9wLoAwoAXwHoAwYABgVBAAYAYQRBAAYA5QB1BAYADQDRBgYA/AR1BAYA+gRBAAYAigR1BAYA
+0gF8BQYAngZ1BAYANAWvBQYADwXTBA4AogEjBA4AAwIjBA4AewG+BAYAtwGPBQoAEQToAxIARQYA
+ARIAowAAAQYAmwR1BAYAAQB1BAYAGwVBAAoARAXoAwYAowN1BAYAmgBBAAYAWAZBAAYAJQFBAAYA
+ewBqAwYABwB1BAYAfATRBgYAZQRBAAYAWAV1BAYArAB1BAYAIAF1BAYAuAB1BAYA8gboBAAAAAA4
+AAAAAAABAAEAAQAQAKMEFAA5AAEAAQAAABAAtgUSBl0AAQADAAABEABPBhIGcQADAAcAAwEAAHMG
+AABVAAQACgARAI8E+AARAE8B/AARAIoAAAEGBmoABAFWgGMGBwFWgC8BBwFQIAAAAACGAKkEBgAB
+ALwkAAAAAIYYbwUGAAEAxCQAAAAAgxhvBQYAAQDMJAAAAACTCDAFCwEBAPgkAAAAAJMINwEQAQEA
+/yQAAAAAkwhDARUBAQAHJQAAAACWCKUGGwECAA4lAAAAAIYYbwUGAAIAFiUAAAAAkRh1BSABAgAA
+AAEAZAMJAG8FAQARAG8FBgAZAG8FCgApAG8FEAAxAG8FEAA5AG8FEABBAG8FEABJAG8FEABRAG8F
+EABZAG8FEABhAG8FEABpAG8FBgCxAG8FBgDZAG8FFQDpAG8FBgBxAGsGMwDxAEEGOAD5AGwEPQAB
+AVADRAC5AKEDSAABAVoDTAB5AG8FEAAZAdwASAAZAYwGUQDxAIEGVQApAZcGWwAhAZUDYQDxALEG
+AQCBAG8FagBJASoFeAARAaEDSAApAZcGfQAZAbYDBgB5AL4DhAAZAe4AiACJAKEDjQCRAJsBkgBZ
+AaoDlwBpAaEDnwApAYIApQApAcAGSABxAZMBBgBRAaEDSAApAZcGqwAhAa4EsQAhAWUFvABxAG8F
+BgC5AG8FBgB5AcoAxQB5Ae4GzgDBAG8F1ADhAG8FBgAIABQA7gAIABgA8wApAHMAWwEuAAsAMwEu
+ABMAPAEuABsAWwEuACMAZAEuACsAjQEuADMAjQEuADsAjQEuAEMAZAEuAEsAkwEuAFMAjQEuAFsA
+qgFDAGMA8wBJAHMAWwFhAHsA8wBjAGsA8wAbAAMAAQAEAAMAAAA0BSQBAABXASkBAACpBi4BAgAE
+AAMAAgAFAAUAAQAGAAUAAgAHAAcABIAAAAEAAAAZJmNKAAAAAAAAFAAAAAQAAAAAAAAAAAAAANwA
+cgAAAAAAEQAAAAAAAAAAAAAA5QDJAwAAAAAEAAAAAAAAAAAAAADcAHUEAAAAABEAAAAAAAAAAAAA
+AOUASwAAAAAAAAAAAAEAAADABQAABQACAAAAAAAASW50MzIASW50NjQAU0hBMjU2AFNUX2UxZWY5
+YzU0YmU1NTRhNTg5YTY3OTgyOWU2ZmI1NDU4ADxNb2R1bGU+AFN5c3RlbS5JTwBNaWNyb3NvZnQu
+U3FsU2VydmVyLk1hbmFnZWREVFMAdmFsdWVfXwBtc2NvcmxpYgBUaHJlYWQAUmVwbGFjZQBkZWZh
+dWx0SW5zdGFuY2UARmlsZU1vZGUAVmFyaWFibGUASURpc3Bvc2FibGUAUnVudGltZVR5cGVIYW5k
+bGUAR2V0VHlwZUZyb21IYW5kbGUAZ2V0X05hbWUARGF0ZVRpbWUAZ2V0X0xhc3RXcml0ZVRpbWUA
+TWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBUeXBlAEZpbGVTaGFyZQBGYWlsdXJlAGdl
+dF9DdWx0dXJlAHNldF9DdWx0dXJlAHJlc291cmNlQ3VsdHVyZQBWU1RBUlRTY3JpcHRPYmplY3RN
+b2RlbEJhc2UAQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UARGlzcG9zZQBDcmVhdGUARWRpdG9yQnJv
+d3NhYmxlU3RhdGUAQ29tcGlsZXJHZW5lcmF0ZWRBdHRyaWJ1dGUARGVidWdnZXJOb25Vc2VyQ29k
+ZUF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBB
+c3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAFRhcmdldEZy
+YW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUNvbmZpZ3VyYXRpb25BdHRyaWJ1dGUAQXNzZW1ibHlE
+ZXNjcmlwdGlvbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAEFzc2Vt
+Ymx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBTU0lTU2NyaXB0
+VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVD
+b21wYXRpYmlsaXR5QXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAdmFsdWUAU3lzdGVtLlRo
+cmVhZGluZwBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAEZpcmVXYXJuaW5nAFRvU3RyaW5nAENv
+bXB1dGVIYXNoAFJlZnJlc2gAZ2V0X0xlbmd0aABNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRh
+c2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBTY3JpcHRPYmplY3RN
+b2RlbABTeXN0ZW0uQ29tcG9uZW50TW9kZWwAU1RfZTFlZjljNTRiZTU1NGE1ODlhNjc5ODI5ZTZm
+YjU0NTguZGxsAEZpbGVTdHJlYW0AZ2V0X0l0ZW0AU3lzdGVtAEhhc2hBbGdvcml0aG0ARW51bQBy
+ZXNvdXJjZU1hbgBCb29sZWFuAFNjcmlwdE1haW4ARmlyZUluZm9ybWF0aW9uAFN5c3RlbS5Db25m
+aWd1cmF0aW9uAFN5c3RlbS5HbG9iYWxpemF0aW9uAFN5c3RlbS5SZWZsZWN0aW9uAElPRXhjZXB0
+aW9uAEZpbGVJbmZvAEN1bHR1cmVJbmZvAEZpbGVTeXN0ZW1JbmZvAFNsZWVwAGdldF9SZXNvdXJj
+ZU1hbmFnZXIARXZlbnRzT2JqZWN0V3JhcHBlcgBCaXRDb252ZXJ0ZXIARmlyZUVycm9yAC5jdG9y
+AC5jY3RvcgBTeXN0ZW0uRGlhZ25vc3RpY3MAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNl
+cwBTeXN0ZW0uUmVzb3VyY2VzAFNUX2UxZWY5YzU0YmU1NTRhNTg5YTY3OTgyOWU2ZmI1NDU4LlBy
+b3BlcnRpZXMuUmVzb3VyY2VzLnJlc291cmNlcwBEZWJ1Z2dpbmdNb2RlcwBTVF9lMWVmOWM1NGJl
+NTU0YTU4OWE2Nzk4MjllNmZiNTQ1OC5Qcm9wZXJ0aWVzAGdldF9WYXJpYWJsZXMAU2V0dGluZ3MA
+RmlsZUFjY2VzcwBTdWNjZXNzAGdldF9EdHMAU2NyaXB0UmVzdWx0cwBnZXRfRXZlbnRzAGdldF9F
+eGlzdHMAQ29uY2F0AE9iamVjdABnZXRfRGVmYXVsdABzZXRfVGFza1Jlc3VsdABUb1VwcGVySW52
+YXJpYW50AFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkAZ2V0X0Fzc2VtYmx5AAAAK1UAcwBl
+AHIAOgA6AEMAdQByAHIAZQBuAHQARgBpAGwAZQBQAGEAdABoAAArVQBzAGUAcgA6ADoAUwBrAGkA
+cABDAHUAcgByAGUAbgB0AEYAaQBsAGUAADdVAHMAZQByADoAOgBDAHUAcgByAGUAbgB0AEYAaQBs
+AGUAUwBrAGkAcABSAGUAYQBzAG8AbgAAAQAhVQBzAGUAcgA6ADoARgBpAGwAZQBzAEYAbwB1AG4A
+ZAAAK1UAcwBlAHIAOgA6AEMAdQByAHIAZQBuAHQARgBpAGwAZQBOAGEAbQBlAABHRgBpAGwAZQAg
+AGQAaQBzAGEAcABwAGUAYQByAGUAZAAgAGIAZQBmAG8AcgBlACAAcAByAG8AYwBlAHMAcwBpAG4A
+ZwAuAAApUAByAGUAcABhAHIAZQAgAEMAdQByAHIAZQBuAHQAIABGAGkAbABlAABXUwBrAGkAcABw
+AGkAbgBnACAAZgBpAGwAZQAgAGIAZQBjAGEAdQBzAGUAIABpAHQAIABuAG8AIABsAG8AbgBnAGUA
+cgAgAGUAeABpAHMAdABzADoAIAAAOUYAaQBsAGUAIABpAHMAIABsAG8AYwBrAGUAZAAvAGkAbgAg
+AHUAcwBlACAAYQBmAHQAZQByACAAAGUgAGEAdAB0AGUAbQBwAHQAcwAuACAASQB0ACAAdwBpAGwA
+bAAgAGIAZQAgAHIAZQB0AHIAaQBlAGQAIABvAG4AIAB0AGgAZQAgAG4AZQB4AHQAIABFAFQATAAg
+AHIAdQBuAC4AADFVAHMAZQByADoAOgBMAG8AYwBrAGUAZABGAGkAbABlAHMAUwBrAGkAcABwAGUA
+ZAAADyAARgBpAGwAZQA6ACAAACtVAHMAZQByADoAOgBDAHUAcgByAGUAbgB0AEYAaQBsAGUAUwBp
+AHoAZQAAM1UAcwBlAHIAOgA6AEMAdQByAHIAZQBuAHQARgBpAGwAZQBNAG8AZABpAGYAaQBlAGQA
+ADNVAHMAZQByADoAOgBDAHUAcgByAGUAbgB0AEYAaQBsAGUARABhAHQAZQBUAGUAeAB0AAAVeQB5
+AHkAeQAtAE0ATQAtAGQAZAABAy0AAStVAHMAZQByADoAOgBDAHUAcgByAGUAbgB0AEYAaQBsAGUA
+SABhAHMAaAAAD0YAbwB1AG4AZAA6ACAAABUgAHwAIABCAHkAdABlAHMAOgAgAAAXIAB8ACAAUwBI
+AEEAMgA1ADYAOgAgAABxUwBUAF8AZQAxAGUAZgA5AGMANQA0AGIAZQA1ADUANABhADUAOAA5AGEA
+NgA3ADkAOAAyADkAZQA2AGYAYgA1ADQANQA4AC4AUAByAG8AcABlAHIAdABpAGUAcwAuAFIAZQBz
+AG8AdQByAGMAZQBzAAAAxBoQ6hdPfkubj8w1TiQYrQAEIAEBCAMgAAEFIAEBEREEIAEBDgUgAQER
+aRcHDw4IEj0SQQIIDggIEkERRRJJDgoSTQQgABJ5BCAAEn0GIAESgIEcAyAAHAMgAA4EIAEBHAMg
+AAIFIAASgJEFAAIODg4IIAUBCA4ODggNIAQBDhGAmRGAnRGAoQQAAQEIBgADDg4ODgMgAAoEIAAR
+RQQgAQ4OBAAAEkkHIAEdBRKAsQUAAQ4dBQUgAg4ODgUAAQ4dDgogBgEIDg4OCBACCCAFAggODg4I
+CAABEoC9EYDBBSAAEoDFByACAQ4SgMUIt3pcVhk04IkIiYRdzYCAzJEEAAAAAAQBAAAAAwYSYQMG
+EmUDBhIQAgYIAwYRFAQAABJhBAAAEmUFAAEBEmUEAAASEAMAAAEECAASYQQIABJlBAgAEhAIAQAI
+AAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAAKAEAI1NUX2UxZWY5
+YzU0YmU1NTRhNTg5YTY3OTgyOWU2ZmI1NDU4AAAFAQAAAAAWAQARQ29weXJpZ2h0IEAgIDIwMjYA
+AEkBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuNwEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUS
+Lk5FVCBGcmFtZXdvcmsgNC43tAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291
+cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1
+YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVz
+b3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAFQ4AAAAAAAAAAAAAG44AAAAIAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAABgOAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/
+JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA
+AFhAAAAaBAAAAAAAAAAAAAAaBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA
+vQTv/gAAAQAAAAEAY0oZJgAAAQBjShkmPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB
+AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA
+AAAAALAEegMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAVgMAAAEAMAAwADAAMAAw
+ADQAYgAwAAAAGgABAAEAQwBvAG0AbQBlAG4AdABzAAAAAAAAACIAAQABAEMAbwBtAHAAYQBuAHkA
+TgBhAG0AZQAAAAAAAAAAAHAAJAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABT
+AFQAXwBlADEAZQBmADkAYwA1ADQAYgBlADUANQA0AGEANQA4ADkAYQA2ADcAOQA4ADIAOQBlADYA
+ZgBiADUANAA1ADgAAAA+AA8AAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AOQA3
+ADUAMwAuADEAOQAwADQAMwAAAAAAcAAoAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQA
+XwBlADEAZQBmADkAYwA1ADQAYgBlADUANQA0AGEANQA4ADkAYQA2ADcAOQA4ADIAOQBlADYAZgBi
+ADUANAA1ADgALgBkAGwAbAAAAEgAEgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMA
+bwBwAHkAcgBpAGcAaAB0ACAAQAAgACAAMgAwADIANgAAACoAAQABAEwAZQBnAGEAbABUAHIAYQBk
+AGUAbQBhAHIAawBzAAAAAAAAAAAAeAAoAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0A
+ZQAAAFMAVABfAGUAMQBlAGYAOQBjADUANABiAGUANQA1ADQAYQA1ADgAOQBhADYANwA5ADgAMgA5
+AGUANgBmAGIANQA0ADUAOAAuAGQAbABsAAAAaAAkAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAA
+AABTAFQAXwBlADEAZQBmADkAYwA1ADQAYgBlADUANQA0AGEANQA4ADkAYQA2ADcAOQA4ADIAOQBl
+ADYAZgBiADUANAA1ADgAAABCAA8AAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4A
+MAAuADkANwA1ADMALgAxADkAMAA0ADMAAAAAAEYADwABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQBy
+AHMAaQBvAG4AAAAxAC4AMAAuADkANwA1ADMALgAxADkAMAA0ADMAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAgDgAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+ /// ScriptMain is the entry point class of the script. Do not change the name, attributes,
+ /// or parent of this class.
+ ///
+ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
+ public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
+ {
+ #region Help: Using Integration Services variables and parameters in a script
+ /* To use a variable in this script, first ensure that the variable has been added to
+ * either the list contained in the ReadOnlyVariables property or the list contained in
+ * the ReadWriteVariables property of this script task, according to whether or not your
+ * code needs to write to the variable. To add the variable, save this script, close this instance of
+ * Visual Studio, and update the ReadOnlyVariables and
+ * ReadWriteVariables properties in the Script Transformation Editor window.
+ * To use a parameter in this script, follow the same steps. Parameters are always read-only.
+ *
+ * Example of reading from a variable:
+ * DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value;
+ *
+ * Example of writing to a variable:
+ * Dts.Variables["User::myStringVariable"].Value = "new value";
+ *
+ * Example of reading from a package parameter:
+ * int batchId = (int) Dts.Variables["$Package::batchId"].Value;
+ *
+ * Example of reading from a project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].Value;
+ *
+ * Example of reading from a sensitive project parameter:
+ * int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();
+ * */
+
+ #endregion
+
+ #region Help: Firing Integration Services events from a script
+ /* This script task can fire events for logging purposes.
+ *
+ * Example of firing an error event:
+ * Dts.Events.FireError(18, "Process Values", "Bad value", "", 0);
+ *
+ * Example of firing an information event:
+ * Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain)
+ *
+ * Example of firing a warning event:
+ * Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0);
+ * */
+ #endregion
+
+ #region Help: Using Integration Services connection managers in a script
+ /* Some types of connection managers can be used in this script task. See the topic
+ * "Working with Connection Managers Programatically" for details.
+ *
+ * Example of using an ADO.Net connection manager:
+ * object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction);
+ * SqlConnection myADONETConnection = (SqlConnection)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Sales DB"].ReleaseConnection(rawConnection);
+ *
+ * Example of using a File connection manager
+ * object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction);
+ * string filePath = (string)rawConnection;
+ * //Use the connection in some code here, then release the connection
+ * Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection);
+ * */
+ #endregion
+
+
+ ///
+ /// This method is called when this script task executes in the control flow.
+ /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
+ /// To open Help, press F1.
+ ///
+ public void Main()
+ {
+ string existingError =
+ Dts.Variables["User::ErrorMessage"].Value.ToString();
+
+ /*
+ * Preserve the first/root error.
+ * Later cascading SSIS errors should not overwrite it.
+ */
+ if (string.IsNullOrWhiteSpace(existingError))
+ {
+ Dts.Variables["User::ErrorMessage"].Value =
+ Dts.Variables["System::ErrorDescription"].Value.ToString();
+
+ Dts.Variables["User::ErrorTaskName"].Value =
+ Dts.Variables["System::SourceName"].Value.ToString();
+ }
+
+ Dts.TaskResult = (int)ScriptResults.Success;
+ }
+
+ #region ScriptResults declaration
+ ///
+ /// This enum provides a convenient shorthand within the scope of this class for setting the
+ /// result of the script.
+ ///
+ /// This code was generated automatically.
+ ///
+ enum ScriptResults
+ {
+ Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
+ Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
+ };
+ #endregion
+
+ }
+}]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+]]>
+
+// 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_ccde3fbc55984542be29e65dd03de37b.Properties.Settings.get_Default():ST_ccde3fbc55984542be29e65dd03de37b.Properties.Sett" +
+ "ings")]
+
+namespace ST_ccde3fbc55984542be29e65dd03de37b.Properties {
+
+
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ private static Settings defaultInstance = new Settings();
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}]]>
+
+
+
+ {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {29C0C7AE-3B2A-4F11-8197-7AEEDB099377}
+ Library
+ Properties
+ ST_ccde3fbc55984542be29e65dd03de37b
+ ST_ccde3fbc55984542be29e65dd03de37b
+ v4.7.2
+ 512
+ true
+
+
+
+ true
+ full
+ false
+ .\bin\Debug\
+ false
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+
+ false
+ true
+ .\bin\Release\
+ false
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ True
+ Resources.resx
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SSIS_ST170
+
+
+
+
+]]>
+
+
+
+ msBuild
+ ST_ccde3fbc55984542be29e65dd03de37b
+ ST_ccde3fbc55984542be29e65dd03de37b
+ {5DF7D234-9D06-4B4C-AAEF-BC686F65280A}
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
+
+]]>
+
+// 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_ccde3fbc55984542be29e65dd03de37b.Properties.Resources.get_ResourceManager():System.Resources.Resou" +
+ "rceManager")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_ccde3fbc55984542be29e65dd03de37b.Properties.Resources.get_Culture():System.Globalization.CultureIn" +
+ "fo")]
+[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_ccde3fbc55984542be29e65dd03de37b.Properties.Resources.set_Culture(System.Globalization.CultureInfo" +
+ "):Void")]
+
+namespace ST_ccde3fbc55984542be29e65dd03de37b.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_ccde3fbc55984542be29e65dd03de37b.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
+ZGUuDQ0KJAAAAAAAAABQRQAATAEDACgRqGoAAAAAAAAAAOAAIiALATAAABAAAAAIAAAAAAAAti4A
+AAAgAAAAQAAAAAAAEAAgAAAAAgAABAAAAAAAAAAGAAAAAAAAAACAAAAAAgAAAAAAAAMAYIUAABAA
+ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAGQuAABPAAAAAEAAAHgEAAAAAAAAAAAAAAAAAAAA
+AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAvA4AAAAgAAAAEAAAAAIA
+AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAHgEAAAAQAAAAAYAAAASAAAAAAAAAAAAAAAAAABAAABA
+LnJlbG9jAAAMAAAAAGAAAAACAAAAGAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACY
+LgAAAAAAAEgAAAACAAUAaCEAAEQMAAABAAAAAAAAAKwtAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwAwClAAAAAAAAAAIoEAAACm8RAAAKcgEAAHBvEgAACm8T
+AAAKbxQAAAooFQAACixyAigQAAAKbxEAAApyAQAAcG8SAAAKAigQAAAKbxEAAApyJwAAcG8SAAAK
+bxMAAApvFAAACm8WAAAKAigQAAAKbxEAAApyWQAAcG8SAAAKAigQAAAKbxEAAApygQAAcG8SAAAK
+bxMAAApvFAAACm8WAAAKAigQAAAKFm8XAAAKKh4CKBgAAAoqHgIoGQAACiqufgEAAAQtHnKnAABw
+0AMAAAIoGgAACm8bAAAKcxwAAAqAAQAABH4BAAAEKhp+AgAABCoeAoACAAAEKhp+AwAABCoeAigd
+AAAKKi5zCAAABoADAAAEKgBCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAADIAwAA
+I34AADQEAAB4BQAAI1N0cmluZ3MAAAAArAkAABwBAAAjVVMAyAoAABAAAAAjR1VJRAAAANgKAABs
+AQAAI0Jsb2IAAAAAAAAAAgAAAVcdoAEJAwAAAPoBMwAWAAABAAAAHgAAAAUAAAAGAAAACQAAAAEA
+AAAdAAAAAgAAABAAAAACAAAAAwAAAAQAAAABAAAABAAAAAEAAAABAAAAAACSAwEAAAAAAAYAOAJi
+BAYAxwJiBAYAhAFPBA8A1gQAAAYAsQEQBAYAGwIQBAYA/AEQBAYArgIQBAYAWAIQBAYAcQIQBAYA
+yAEQBAYA4wH/AgoAjAJBAwoAAwFBAwYAygPDAwYAZwFPBAYASQXDAwYAMgSCBAYAIgT7Aw4ANwF8
+Aw4AmAF8Aw4AHwHmAwYATAFiBAoAagNBAxIAGAWuABIAgQCuAAYAGwPDAwYAzgDDAwYAigDDAwYA
+bwUQBAAAAAABAAAAAAABAAEAAQAQANsDMQA5AAEAAQAAABAAiQTlBEUAAQADAAABEAAiBeUEWQAD
+AAcAAwEAADsFAAA9AAQACgARAM8DbAARAPMAcAARAHEAdAAGBikAeABWgCsFewBWgNMAewBQIAAA
+AACGAOEDBgABAAEhAAAAAIYYQgQGAAEACSEAAAAAgxhCBAYAAQARIQAAAACTCC4EfwABAD0hAAAA
+AJMI2wCEAAEARCEAAAAAkwjnAIkAAQBMIQAAAACWCFAFjwACAFMhAAAAAIYYQgQGAAIAWyEAAAAA
+kRhIBJQAAgAAAAEA+QIJAEIEAQARAEIEBgAZAEIECgApAEIEEAAxAEIEEAA5AEIEEABBAEIEEABJ
+AEIEEABRAEIEEABZAEIEEABhAEIEEABpAEIEBgCBAEIEBgCpAEIEFQC5AEIEBgBxADMFGwDBABQF
+IADJALoDJQDRAOUCKwCJABkDLwDZAF4AMwDRAO8COADBAFwFAQBxAEIEBgCJAEIEBgDhAJwAPQDh
+AGsFRACRAEIESQCxAEIEBgAIABQAYgAIABgAZwApAHMAzwAuAAsApwAuABMAsAAuABsAzwAuACMA
+2AAuACsAAQEuADMAAQEuADsAAQEuAEMA2AAuAEsABwEuAFMAAQEuAFsAHgFDAGMAZwBJAHMAzwBh
+AHsAZwBjAGsAZwADAAEABAADAAAAMgSYAAAA+wCdAAAAVAWiAAIABAADAAIABQAFAAEABgAFAAIA
+BwAHAASAAAABAAAAGSb0TwAAAAAAADEAAAAEAAAAAAAAAAAAAABQAFUAAAAAABEAAAAAAAAAAAAA
+AFkAIgMAAAAABAAAAAAAAAAAAAAAUADDAwAAAAARAAAAAAAAAAAAAABZAAoAAAAAAAAAAAABAAAA
+kwQAAAUAAgAAAAA8TW9kdWxlPgBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMAdmFsdWVf
+XwBTVF9jY2RlM2ZiYzU1OTg0NTQyYmUyOWU2NWRkMDNkZTM3YgBtc2NvcmxpYgBJc051bGxPcldo
+aXRlU3BhY2UAZGVmYXVsdEluc3RhbmNlAFZhcmlhYmxlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5
+cGVGcm9tSGFuZGxlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVHlwZQBGYWlsdXJl
+AGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAHJlc291cmNlQ3VsdHVyZQBWU1RBUlRTY3JpcHRPYmpl
+Y3RNb2RlbEJhc2UAQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UARWRpdG9yQnJvd3NhYmxlU3RhdGUA
+Q29tcGlsZXJHZW5lcmF0ZWRBdHRyaWJ1dGUARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBE
+ZWJ1Z2dhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBBc3NlbWJseVRpdGxl
+QXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAFRhcmdldEZyYW1ld29ya0F0dHJp
+YnV0ZQBBc3NlbWJseUNvbmZpZ3VyYXRpb25BdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0
+dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0
+dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9p
+bnRBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5
+QXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAdmFsdWUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lv
+bmluZwBUb1N0cmluZwBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNx
+bFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBTY3JpcHRPYmplY3RNb2RlbABTeXN0ZW0uQ29t
+cG9uZW50TW9kZWwAU1RfY2NkZTNmYmM1NTk4NDU0MmJlMjllNjVkZDAzZGUzN2IuZGxsAGdldF9J
+dGVtAFN5c3RlbQBFbnVtAHJlc291cmNlTWFuAFNjcmlwdE1haW4AU3lzdGVtLkNvbmZpZ3VyYXRp
+b24AU3lzdGVtLkdsb2JhbGl6YXRpb24AU3lzdGVtLlJlZmxlY3Rpb24AQ3VsdHVyZUluZm8AZ2V0
+X1Jlc291cmNlTWFuYWdlcgAuY3RvcgAuY2N0b3IAU3lzdGVtLkRpYWdub3N0aWNzAFN5c3RlbS5S
+dW50aW1lLkNvbXBpbGVyU2VydmljZXMAU3lzdGVtLlJlc291cmNlcwBTVF9jY2RlM2ZiYzU1OTg0
+NTQyYmUyOWU2NWRkMDNkZTM3Yi5Qcm9wZXJ0aWVzLlJlc291cmNlcy5yZXNvdXJjZXMARGVidWdn
+aW5nTW9kZXMAU1RfY2NkZTNmYmM1NTk4NDU0MmJlMjllNjVkZDAzZGUzN2IuUHJvcGVydGllcwBn
+ZXRfVmFyaWFibGVzAFNldHRpbmdzAFN1Y2Nlc3MAZ2V0X0R0cwBTY3JpcHRSZXN1bHRzAE9iamVj
+dABnZXRfRGVmYXVsdABzZXRfVGFza1Jlc3VsdABnZXRfQXNzZW1ibHkAACVVAHMAZQByADoAOgBF
+AHIAcgBvAHIATQBlAHMAcwBhAGcAZQAAMVMAeQBzAHQAZQBtADoAOgBFAHIAcgBvAHIARABlAHMA
+YwByAGkAcAB0AGkAbwBuAAAnVQBzAGUAcgA6ADoARQByAHIAbwByAFQAYQBzAGsATgBhAG0AZQAA
+JVMAeQBzAHQAZQBtADoAOgBTAG8AdQByAGMAZQBOAGEAbQBlAABxUwBUAF8AYwBjAGQAZQAzAGYA
+YgBjADUANQA5ADgANAA1ADQAMgBiAGUAMgA5AGUANgA1AGQAZAAwADMAZABlADMANwBiAC4AUABy
+AG8AcABlAHIAdABpAGUAcwAuAFIAZQBzAG8AdQByAGMAZQBzAAAAAADY+CAp8BI2RpLHvjn23LCn
+AAQgAQEIAyAAAQUgAQEREQQgAQEOBSABARFRBCAAEmEEIAASZQUgARJpHAMgABwDIAAOBAABAg4E
+IAEBHAYAARJxEXUEIAASeQYgAgEOEnkIt3pcVhk04IkIiYRdzYCAzJEEAAAAAAQBAAAAAwYSSQMG
+Ek0DBhIQAgYIAwYRFAQAABJJBAAAEk0FAAEBEk0EAAASEAMAAAEECAASSQQIABJNBAgAEhAIAQAI
+AAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAAKAEAI1NUX2NjZGUz
+ZmJjNTU5ODQ1NDJiZTI5ZTY1ZGQwM2RlMzdiAAAFAQAAAAAWAQARQ29weXJpZ2h0IEAgIDIwMjYA
+AE0BABwuTkVURnJhbWV3b3JrLFZlcnNpb249djQuNy4yAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFt
+ZRQuTkVUIEZyYW1ld29yayA0LjcuMrQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5S
+ZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs
+LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGlt
+ZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAACMLgAAAAAAAAAAAACmLgAAACAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAmC4AAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAA
+AAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAA
+AABIAAAAWEAAABoEAAAAAAAAAAAAABoENAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBP
+AAAAAAC9BO/+AAABAAAAAQD0TxkmAAABAPRPGSY/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAA
+RAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBv
+AG4AAAAAAAAAsAR6AwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAABWAwAAAQAwADAA
+MAAwADAANABiADAAAAAaAAEAAQBDAG8AbQBtAGUAbgB0AHMAAAAAAAAAIgABAAEAQwBvAG0AcABh
+AG4AeQBOAGEAbQBlAAAAAAAAAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4A
+AAAAAFMAVABfAGMAYwBkAGUAMwBmAGIAYwA1ADUAOQA4ADQANQA0ADIAYgBlADIAOQBlADYANQBk
+AGQAMAAzAGQAZQAzADcAYgAAAD4ADwABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAA
+LgA5ADcANQAzAC4AMgAwADQANgA4AAAAAABwACgAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAA
+AFMAVABfAGMAYwBkAGUAMwBmAGIAYwA1ADUAOQA4ADQANQA0ADIAYgBlADIAOQBlADYANQBkAGQA
+MAAzAGQAZQAzADcAYgAuAGQAbABsAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0
+AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMgA2AAAAKgABAAEATABlAGcAYQBsAFQA
+cgBhAGQAZQBtAGEAcgBrAHMAAAAAAAAAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu
+AGEAbQBlAAAAUwBUAF8AYwBjAGQAZQAzAGYAYgBjADUANQA5ADgANAA1ADQAMgBiAGUAMgA5AGUA
+NgA1AGQAZAAwADMAZABlADMANwBiAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBt
+AGUAAAAAAFMAVABfAGMAYwBkAGUAMwBmAGIAYwA1ADUAOQA4ADQANQA0ADIAYgBlADIAOQBlADYA
+NQBkAGQAMAAzAGQAZQAzADcAYgAAAEIADwABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAA
+ADEALgAwAC4AOQA3ADUAMwAuADIAMAA0ADYAOAAAAAAARgAPAAEAQQBzAHMAZQBtAGIAbAB5ACAA
+VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AOQA3ADUAMwAuADIAMAA0ADYAOAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAwAAAC4PgAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DataSourceViewID
+
+
+ TableInfoObjectType
+ Table
+
+
+
+
+
+
+ DataSourceViewID
+
+
+ TableInfoObjectType
+ Table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DataSourceViewID
+
+
+
+
+
+
+ DataSourceViewID
+
+
+ TableInfoObjectType
+ Table
+
+
+
+
+
+
+
+
+
+
+]]>
+
\ No newline at end of file
diff --git a/SpravatoETL/SpravatoETL.database b/SpravatoETL/SpravatoETL.database
new file mode 100644
index 0000000..d4e15b8
--- /dev/null
+++ b/SpravatoETL/SpravatoETL.database
@@ -0,0 +1,13 @@
+
+ SpravatoETL
+ SpravatoETL
+ 0001-01-01T00:00:00Z
+ 0001-01-01T00:00:00Z
+ 0001-01-01T00:00:00Z
+ Unprocessed
+ 0001-01-01T00:00:00Z
+
+ Default
+ Unchanged
+
+
\ No newline at end of file
diff --git a/SpravatoETL/SpravatoETL.dtproj b/SpravatoETL/SpravatoETL.dtproj
new file mode 100644
index 0000000..7452613
--- /dev/null
+++ b/SpravatoETL/SpravatoETL.dtproj
@@ -0,0 +1,517 @@
+
+
+ Project
+ 17.0.1010.2
+ 9.0.1.0
+ $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkZGw0MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAiIHhtbG5zOmRkbDQwMF80MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAvNDAwIiB4bWxuczpkZGw1MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAiIHhtbG5zOmRkbDUwMF81MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAvNTAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg==
+
+ SpravatoETL.database
+ SpravatoETL.database
+
+
+
+
+
+
+
+ {d1566dde-0222-428f-8454-2e0eeeeda4bd}
+ SpravatoETL
+ 1
+ 0
+ 0
+
+
+ 2026-08-25T14:26:30.6436996-04:00
+ RETREAT\jmulhall
+ NB7014
+
+
+ AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA3sg5/WnZgE6AXM2AQAN7vwAAAAACAAAAAAAQZgAAAAEAACAAAADXpt36v+b/G2k3GP+x5aSBNtsGI66t2XClrgVXV8G93gAAAAAOgAAAAAIAACAAAAAp6SAHJ2+eFa1lecFSHIJjT+tQySnEYLkSZx+eboTACpAAAABd/6SVjhO/Ls1ZUXLbz4ES6iLa/Gj2EDfnbNb2Ew5SfG0ejvQtCt/NFIMdLy8Nu5rtAimyrs11UHLB7JwqePRhf6rEL/9MqvIsjhAehu8OYkNy7+mE77/YjwGLyvb0HHR+QewWJG99eB4NYFYbg55TA5wEyUIkSOcIdTfZz2ftmjyB0Jw8OZkqjYlr014Ots1AAAAAi/9ZN4kcsrRzs/6OUL8yjLu/xl/9bpjWNFEGwTzHtw0/Q8X+3O1NiJmLCZdOHH26GSElgtn1aZFqegnwvWHBng==
+ 1
+
+
+
+
+
+
+
+
+
+
+ {0DF67863-87D5-4CF9-9769-6F3C5CABED91}
+ SpravatoAuditImport
+ 1
+ 0
+ 66
+
+
+ {210EF0DC-4CA9-47F1-9622-033CF9A901AB}
+ 8
+
+
+ 1
+
+
+
+
+ {C60B7240-2079-4010-BD23-E25392883596}
+
+
+
+
+ 0
+ 0
+ 0
+ Admin vs Dispensed SMC*.xlsx
+ 18
+
+
+
+
+ {E89A67B8-9A91-469A-BB43-5D0265DE373D}
+
+
+
+
+ 0
+ 0
+ 0
+ SpravatoAuditImport
+ 18
+
+
+
+
+ {C78245DC-BEF7-4412-A60F-57E08F0D942E}
+
+
+
+
+ 0
+ 0
+ 0
+ \\retreathealthcare.org\network\Data\PHRMCY\Pharmacy Metrics\2026 Metrics\2026 Spravato Audit
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ Data Source=BRT1-MEDIDR\MEDITECHDR;User ID=;Initial Catalog=SSIS;Provider=MSOLEDBSQL.1;Persist Security Info=False;Integrated Security=SSPI;Initial File Name=;Server SPN=;Authentication=;Access Token=;Application Name=SSIS-Package-{99CE1662-22DC-48A1-9291-C0133E25CFD2}BRT1-MEDIDR\MEDITECHDR.SSIS;Auto Translate=False;
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 1
+ 9
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 5
+ 9
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ SSIS
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ BRT1-MEDIDR\MEDITECHDR
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ server=10.135.214.23;uid=mulhall_john;Driver={PostgreSQL Unicode(x64)};port=5432;database=postgres;sslmode=require;
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 10.135.214.23
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ mulhall_john
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ Provider=Microsoft.ACE.OLEDB.16.0;Data Source=F:\PHRMCY\Pharmacy Metrics\2026 Metrics\2026 Spravato Audit\Admin Vs Dispensed SMC20260104-0110.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES";
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ F:\PHRMCY\Pharmacy Metrics\2026 Metrics\2026 Spravato Audit\Admin Vs Dispensed SMC20260104-0110.xlsx
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ true
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ false
+ 3
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ F:\PHRMCY\Pharmacy Metrics\2026 Metrics\2026 Spravato Audit\Admin Vs Dispensed SMC20260104-0110.xlsx
+ 18
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 18
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Development
+
+ bin
+
+
+
+
+ SQLServer2025
+ false
+
+
+
+
+
+
+
+ LastModifiedTime
+ LastModifiedTime
+ 2026-08-25T20:47:22.6394457Z
+
+
+
+
+
+
\ No newline at end of file