diff --git a/9781430237716.jpg b/9781430237716.jpg new file mode 100644 index 0000000..b5a0c0d Binary files /dev/null and b/9781430237716.jpg differ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..1edb9d1 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,27 @@ +Freeware License, some rights reserved + +Copyright (c) 2012 Andy Leonard, Matt Masson, Tim Mitchell, Jessica Moss, and Michelle Ufford + +Permission is hereby granted, free of charge, to anyone obtaining a copy +of this software and associated documentation files (the "Software"), +to work with the Software within the limits of freeware distribution and fair use. +This includes the rights to use, copy, and modify the Software for personal use. +Users are also allowed and encouraged to submit corrections and modifications +to the Software for the benefit of other users. + +It is not allowed to reuse, modify, or redistribute the Software for +commercial use in any way, or for a users educational materials such as books +or blog articles without prior permission from the copyright holder. + +The above copyright notice and this permission notice need to be included +in all copies or substantial portions of the software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS OR APRESS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c02057 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +#Apress Source Code + +This repository accompanies [*SQL Server 2012 Integration Services Design Patterns*](http://www.apress.com/9781430237716) by Andy Leonard, Matt Masson, Tim Mitchell, Jessica Moss, and Michelle Ufford (Apress, 2012). + +![Cover image](9781430237716.jpg) + +Download the files as a zip using the green button, or clone the repository to your machine using Git. + +##Releases + +Release v1.0 corresponds to the code in the published book, without corrections or updates. + +##Contributions + +See the file Contributing.md for more information on how you can contribute to this repository. diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L01.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L01.sql new file mode 100644 index 0000000..d330f8f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L01.sql @@ -0,0 +1,26 @@ +USE [master]; +GO + +/* Check to see if the database already exists; if it does exist, do nothing */ +IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'dbaCentralLogging') +BEGIN + /* Create a database to store our Chapter 1 examples */ + CREATE DATABASE [dbaCentralLogging] + ON PRIMARY + ( + NAME = N'dbaCentralLogging' + , FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dbaCentralLogging.mdf' + , SIZE = 1024MB + , MAXSIZE = UNLIMITED + , FILEGROWTH = 1024MB + ) + LOG ON + ( + NAME = N'dbaCentralLogging_log' + , FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\dbaCentralLogging_log.ldf' + , SIZE = 256MB + , MAXSIZE = UNLIMITED + , FILEGROWTH = 256MB + ); +END +GO diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L02.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L02.sql new file mode 100644 index 0000000..e73a6fc --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L02.sql @@ -0,0 +1,16 @@ +USE dbaCentralLogging; +GO + +/* Check to see if the table already exists; if it does, drop it */ +IF (SELECT OBJECT_ID('dbo.dba_monitor_SQLServerInstances')) IS NOT NULL + DROP TABLE dbo.dba_monitor_SQLServerInstances; + +/* Create a table to store the instances we wish to monitor */ +CREATE TABLE dbo.dba_monitor_SQLServerInstances +( + SQLServerInstance NVARCHAR(128) + , LastMonitored SMALLDATETIME NULL + + CONSTRAINT PK_dba_monitor_SQLServerInstances + PRIMARY KEY CLUSTERED(SQLServerInstance) +); diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L03.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L03.sql new file mode 100644 index 0000000..c94737d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L03.sql @@ -0,0 +1,16 @@ +USE dbaCentralLogging; +GO + +/* Clean up the dbo.dba_monitor_SQLServerInstances table */ +TRUNCATE TABLE dbo.dba_monitor_SQLServerInstances; + +/* Example code to populate the dba_monitor_SQLServerInstances table */ +INSERT INTO dbo.dba_monitor_SQLServerInstances +( + SQLServerInstance +) +SELECT @@SERVERNAME -- The name of the server that hosts the central repository +UNION ALL +SELECT 'YourSQLServer' -- Example of a SQL Server instance +UNION ALL +SELECT 'YourSQLServer\Instance'; -- Example of a server with multiple instances diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L04.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L04.sql new file mode 100644 index 0000000..85f1e65 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L04.sql @@ -0,0 +1,2 @@ +/* T-SQL to retrieve SQL Server instances */ +SELECT SQLServerInstance FROM dbo.dba_monitor_SQLServerInstances; \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L05.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L05.sql new file mode 100644 index 0000000..31b9b4f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L05.sql @@ -0,0 +1,23 @@ +/* T-SQL to retrieve current data and log file sizes for all databases on the server */ +SELECT GETDATE() AS [captureDate] + , @@SERVERNAME AS [serverName] + , instance_name AS [databaseName] + , SUM( + CASE + WHEN counter_name = 'Data File(s) Size (KB)' + THEN cntr_value + END + ) AS 'dataSizeInKB' + , SUM( + CASE + WHEN counter_name = 'Log File(s) Size (KB)' + THEN cntr_value + END + ) AS 'logSizeInKB' +FROM sys.dm_os_performance_counters +WHERE counter_name IN ('Data File(s) Size (KB)' + , 'Log File(s) Size (KB)') + /* optional: remove _Total to avoid accidentially + double-counting in queries */ + AND instance_name <> '_Total' +GROUP BY instance_name; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L06.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L06.sql new file mode 100644 index 0000000..87a1697 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L06.sql @@ -0,0 +1,23 @@ +USE dbaCentralLogging; +GO + +/* Check to see if the table already exists; if it does, drop it */ +IF (SELECT OBJECT_ID('dbo.dba_monitor_databaseGrowth')) IS NOT NULL + DROP TABLE dbo.dba_monitor_databaseGrowth; + +/* T-SQL to create a table to store data and log file size information */ +CREATE TABLE dbo.dba_monitor_databaseGrowth +( + log_id INT IDENTITY(1,1) + , captureDate DATETIME + , serverName NVARCHAR(128) + , databaseName SYSNAME + , fileSizeInKB BIGINT + , logSizeInKB BIGINT + + CONSTRAINT PK_dba_monitor_databaseGrowth + PRIMARY KEY NONCLUSTERED(log_id) +); + +CREATE CLUSTERED INDEX CIX_dba_monitor_databaseGrowth + ON dbo.dba_monitor_databaseGrowth(captureDate, serverName, databaseName); diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L07.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L07.sql new file mode 100644 index 0000000..199baa9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L07.sql @@ -0,0 +1,92 @@ +/* T-SQL to retrieve unused indexes */ + +/* Create a variable to hold a list of indexes */ +DECLARE @Indexes TABLE +( serverName NVARCHAR(128) +, schemaName SYSNAME +, schemaID INT +, databaseName SYSNAME +, databaseID INT +, tableName SYSNAME +, objectID INT +, indexName SYSNAME +, indexID INT +, indexType NVARCHAR(60) +, isPrimaryKey BIT +, isUnique BIT +, isFiltered BIT +, isPartitioned BIT +, numberOfRows BIGINT +, totalPages BIGINT); + +/* Iterate through all databases */ +INSERT INTO @Indexes (serverName, schemaName, schemaID, databaseName, databaseID, tableName, objectID, indexName, indexID, indexType, isUnique, isPrimaryKey, isFiltered, isPartitioned, numberOfRows, totalPages) +EXECUTE sys.sp_MSforeachdb +' USE ?; +SELECT @@SERVERNAME + , SCHEMA_NAME(t.schema_id) + , t.schema_id + , DB_NAME() + , DB_ID() + , t.name + , t.object_id + , i.name + , i.index_id + , i.type_desc + , i.is_primary_key + , i.is_unique + , i.has_filter + , CASE WHEN COUNT(p.partition_id) > 1 THEN 1 ELSE 0 END + , SUM(p.rows) + , SUM(au.total_pages) +FROM sys.tables AS t WITH (NOLOCK) +JOIN sys.indexes AS i WITH (NOLOCK) +ON i.object_id = t.object_id +JOIN sys.partitions AS p WITH (NOLOCK) +ON p.object_id = i.object_id +AND p.index_id = i.index_id +JOIN sys.allocation_units AS au WITH (NOLOCK) +ON au.container_id = p.partition_id +WHERE i.index_id <> 0 /* exclude heaps */ +GROUP BY SCHEMA_NAME(t.schema_id) +, t.schema_id +, t.name +, t.object_id +, i.name +, i.index_id +, i.type_desc +, i.has_filter +, i.is_unique +, i.is_primary_key;'; + +/* Retrieve index stats for return to our central repository */ +SELECT GETDATE() AS [captureDate] + , i.serverName + , i.schemaName + , i.databaseName + , i.tableName + , i.indexName + , i.indexType + , i.isFiltered + , i.isPartitioned + , i.numberOfRows + , ddius.user_seeks AS [userSeeksSinceReboot] + , ddius.user_scans AS [userScansSinceReboot] + , ddius.user_lookups AS [userLookupsSinceReboot] + , ddius.user_updates AS [userUpdatesSinceReboot] + , (i.totalPages * 8) / 1024 AS [indexSizeInMB] /* pages are 8KB */ + , dosi.sqlserver_start_time AS [lastReboot] +FROM @Indexes AS i +JOIN sys.dm_db_index_usage_stats AS ddius + ON i.databaseID = ddius.database_id + AND i.objectID = ddius.object_id + AND i.indexID = ddius.index_id +CROSS APPLY sys.dm_os_sys_info AS dosi +WHERE /* exclude system databases */ + i.databaseName NOT IN ('master', 'msdb', 'tempdb', 'model') + /* exclude unique indexes; assume they are serving a business function */ + AND i.isUnique = 0 + /* exclude primary keys; assume they are serving a business function */ + AND i.isPrimaryKey = 0 + /* no seeks have been performed since the last server reboot */ + AND user_seeks = 0; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L08.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L08.sql new file mode 100644 index 0000000..a236d10 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L08.sql @@ -0,0 +1,33 @@ +USE dbaCentralLogging; +GO + +/* Check to see if the table already exists; if it does, drop it */ +IF (SELECT OBJECT_ID('dbo.dba_monitor_unusedIndexes')) IS NOT NULL + DROP TABLE dbo.dba_monitor_unusedIndexes; + +/* T-SQL to create the a table to log unused index information */ +CREATE TABLE dbo.dba_monitor_unusedIndexes +( log_id INT IDENTITY(1,1) +, captureDate DATETIME +, serverName NVARCHAR(128) +, schemaName SYSNAME +, databaseName SYSNAME +, tableName SYSNAME +, indexName SYSNAME +, indexType NVARCHAR(60) +, isFiltered BIT +, isPartitioned BIT +, numberOfRows BIGINT +, userSeeksSinceReboot BIGINT +, userScansSinceReboot BIGINT +, userLookupsSinceReboot BIGINT +, userUpdatesSinceReboot BIGINT +, indexSizeInMB BIGINT +, lastReboot DATETIME + + CONSTRAINT PK_dba_monitor_unusedIndexes + PRIMARY KEY NONCLUSTERED(log_id) +); + +CREATE CLUSTERED INDEX CIX_dba_monitor_unusedIndexes + ON dbo.dba_monitor_unusedIndexes(captureDate); diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L09.sql b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L09.sql new file mode 100644 index 0000000..20bffad --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/CH01_L09.sql @@ -0,0 +1,4 @@ +/* T-SQL to update the LastMonitored value in dba_monitor_SQLServerInstances */ +UPDATE dbo.dba_monitor_SQLServerInstances +SET LastMonitored = GETDATE() +WHERE SQLServerInstance = ?; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection.sln b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection.sln new file mode 100644 index 0000000..e63bc24 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "MetadataCollection", "MetadataCollection\MetadataCollection.dtproj", "{DFBEAD3A-5D73-49B6-A7B4-D216867ED9C0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DFBEAD3A-5D73-49B6-A7B4-D216867ED9C0}.Development|Default.ActiveCfg = Development + {DFBEAD3A-5D73-49B6-A7B4-D216867ED9C0}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.database b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.database new file mode 100644 index 0000000..4f184c4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.database @@ -0,0 +1,13 @@ + + MetadataCollection + MetadataCollection + 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/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj new file mode 100644 index 0000000..75dd4bf --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj @@ -0,0 +1,243 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + MetadataCollection.database + MetadataCollection.database + + + + + + + + {34acf9d0-2744-4b6f-aea0-3b15fda37317} + MetadataCollection + 1 + 0 + 0 + + + 2012-04-28T16:10:45.9577968-05:00 + SQLFool\Michelle + SQLFOOL + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAn+MGKvbB806WMHrIh6mlewAAAAACAAAAAAAQZgAAAAEAACAAAADFAgfdLEg4D/yUPwuvK+5DeUaykpCXJzP4KY0gBRhMLQAAAAAOgAAAAAIAACAAAAB4Nb7L418n4gJ4AmJ3UqgwCT3p2kD28rb8qi0YKqedQ5AAAACyBmAOeDJWIwFozWX/8gOY+2CSbRdMmCXCxTTKnFZEpHbsUea3EG3479jg+e/SrbVDrzAVjSJYrV+ib7CR39OlQZQ3vtUQJk5olYj4HwRwnDPnwvQM5TVlX0M0h+SaInV/f7T7Lf3H6dslphZ5Se3LwwZCdzFxnIV5UN2WVLTkb2sMuwy/uhQOGwLgWsY5celAAAAA5dMhKxzh8hLkSy79l050cWS+ogDiXCmjlB0anyD9JJGgDxo2JrbLalVQa6qbdFjuRA9K4tbTo6oITZlQg9/NUw== + 1 + + + + + + + + + + + {449B62E1-FDA2-45BD-AD24-E587FAF01077} + Package + 1 + 0 + 12 + + + {E9557CAD-394F-49CB-B1FA-8711A263CD50} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=;Initial Catalog=master;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + master + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=SQLFOOL\SQLFOOL2012;Initial Catalog=dbaCentralLogging;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + dbaCentralLogging + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + SQLFOOL\SQLFOOL2012 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-04-28T23:01:14.888366Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj.user new file mode 100644 index 0000000..edc7165 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/MetadataCollection.dtproj.user @@ -0,0 +1,21 @@ + + + + + Development + + + + false + true + + + LastModifiedTime + LastModifiedTime + 2012-04-28T23:01:14.8893661Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Package.dtsx new file mode 100644 index 0000000..03cb1a4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Package.dtsx @@ -0,0 +1,1604 @@ + + + 6 + + + @[User::SQLServerInstanceName] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[dba_monitor_databaseGrowth] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + SELECT GETDATE() AS [captureDate] + , @@SERVERNAME AS [serverName] + , instance_name AS [databaseName] + , SUM( + CASE + WHEN counter_name = 'Data File(s) Size (KB)' + THEN cntr_value + END + ) AS 'dataSizeInKB' + , SUM( + CASE + WHEN counter_name = 'Log File(s) Size (KB)' + THEN cntr_value + END + ) AS 'logSizeInKB' +FROM sys.dm_os_performance_counters +WHERE counter_name IN ('Data File(s) Size (KB)' + , 'Log File(s) Size (KB)') +GROUP BY instance_name; + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[dba_monitor_unusedIndexes] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + /* Create a variable to hold a list of indexes */ +DECLARE @Indexes TABLE +( serverName NVARCHAR(128) +, schemaName SYSNAME +, schemaID INT +, databaseName SYSNAME +, databaseID INT +, tableName SYSNAME +, objectID INT +, indexName SYSNAME +, indexID INT +, indexType NVARCHAR(60) +, isPrimaryKey BIT +, isUnique BIT +, isFiltered BIT +, isPartitioned BIT +, numberOfRows BIGINT +, totalPages BIGINT); + +/* Iterate through all databases */ +INSERT INTO @Indexes (serverName, schemaName, schemaID, databaseName, databaseID, tableName, objectID, indexName, indexID, indexType, isUnique, isPrimaryKey, isFiltered, isPartitioned, numberOfRows, totalPages) +EXECUTE sys.sp_MSforeachdb +' USE ?; +SELECT @@SERVERNAME + , SCHEMA_NAME(t.schema_id) + , t.schema_id + , DB_NAME() + , DB_ID() + , t.name + , t.object_id + , i.name + , i.index_id + , i.type_desc + , i.is_primary_key + , i.is_unique + , i.has_filter + , CASE WHEN COUNT(p.partition_id) > 1 THEN 1 ELSE 0 END + , SUM(p.rows) + , SUM(au.total_pages) +FROM sys.tables AS t WITH (NOLOCK) +JOIN sys.indexes AS i WITH (NOLOCK) +ON i.object_id = t.object_id +JOIN sys.partitions AS p WITH (NOLOCK) +ON p.object_id = i.object_id +AND p.index_id = i.index_id +JOIN sys.allocation_units AS au WITH (NOLOCK) +ON au.container_id = p.partition_id +WHERE i.index_id <> 0 /* exclude heaps */ +GROUP BY SCHEMA_NAME(t.schema_id) +, t.schema_id +, t.name +, t.object_id +, i.name +, i.index_id +, i.type_desc +, i.has_filter +, i.is_unique +, i.is_primary_key;'; + +/* Retrieve index stats for return to our central repository */ +SELECT GETDATE() AS [captureDate] + , i.serverName + , i.schemaName + , i.databaseName + , i.tableName + , i.indexName + , i.indexType + , i.isFiltered + , i.isPartitioned + , i.numberOfRows + , ddius.user_seeks AS [userSeeksSinceReboot] + , ddius.user_scans AS [userScansSinceReboot] + , ddius.user_lookups AS [userLookupsSinceReboot] + , ddius.user_updates AS [userUpdatesSinceReboot] + , (i.totalPages * 8) / 1024 AS [indexSizeInMB] /* pages are 8KB */ + , dosi.sqlserver_start_time AS [lastReboot] +FROM @Indexes AS i +JOIN sys.dm_db_index_usage_stats AS ddius + ON i.databaseID = ddius.database_id + AND i.objectID = ddius.object_id + AND i.indexID = ddius.index_id +CROSS APPLY sys.dm_os_sys_info AS dosi +WHERE /* exclude system databases */ + i.databaseName NOT IN ('master', 'msdb', 'tempdb', 'model') + /* exclude unique indexes; assume they are serving a business function */ + AND i.isUnique = 0 + /* exclude primary keys; assume they are serving a business function */ + AND i.isPrimaryKey = 0 + /* no seeks have been performed since the last server reboot */ + AND user_seeks = 0; + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/bin/Development/MetadataCollection.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/bin/Development/MetadataCollection.ispac new file mode 100644 index 0000000..704835c Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/bin/Development/MetadataCollection.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/BuildLog.xml new file mode 100644 index 0000000..4c3efcb --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/BuildLog.xml @@ -0,0 +1,15 @@ + + + + MetadataCollection + 2012-04-29T01:17:34.5753195Z + EncryptSensitiveWithUserKey + + + + Package.dtsx + 2012-04-29T18:09:47.9004916Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/MetadataCollection.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/MetadataCollection.dtproj new file mode 100644 index 0000000..cb898fe --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/MetadataCollection.dtproj @@ -0,0 +1,243 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + MetadataCollection.database + MetadataCollection.database + + + + + + + + {34acf9d0-2744-4b6f-aea0-3b15fda37317} + MetadataCollection + 1 + 0 + 0 + + + 2012-04-28T16:10:45.9577968-05:00 + SQLFool\Michelle + SQLFOOL + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAn+MGKvbB806WMHrIh6mlewAAAAACAAAAAAAQZgAAAAEAACAAAACJRiJu6EbOVuqorBF/DKoc5b1f9Xatwdmdz9L83+JNawAAAAAOgAAAAAIAACAAAAAY42HV/+Q6uYQl54gPunSH/EnY+/OYl0oqwz38Oq3/bZAAAADUtZUoeZ+dRjWrJ2cwZfuTbVMhtU19bOHHuqKC8c1pYQbTbMYWaqqO3fdh1sXEs5+v6nPCTBkiwjmqHFC52aAum7qJC8XH2SsCMP+MfyM0WmkL0587GCeYZp2JZEo6BoXPtsMoIHKyaeL1YnpkZpTURhLS7kQO2fDYVeV/ZWOGT6Py1NoIPunro3sSksA1e7BAAAAAqKlabIBsBGxhcwapoMTyQB73G5zlE8mS0s21Wjv9iOctdN/hWVNJISZT8hZH6Za/GjGZqc8mrJLOpw6xrydmhg== + 1 + + + + + + + + + + + {449B62E1-FDA2-45BD-AD24-E587FAF01077} + Package + 1 + 0 + 13 + + + {9DDAC245-203E-4932-8DA6-EBCA979904EF} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=;Initial Catalog=master;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + master + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=SQLFOOL\SQLFOOL2012;Initial Catalog=dbaCentralLogging;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + dbaCentralLogging + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + SQLFOOL\SQLFOOL2012 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-04-28T23:01:14.888366Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Package.dtsx new file mode 100644 index 0000000..df87eb6 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Package.dtsx @@ -0,0 +1,1576 @@ + + + 6 + + + @[User::SQLServerInstanceName] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[dba_monitor_databaseGrowth] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + SELECT GETDATE() AS [captureDate] + , @@SERVERNAME AS [serverName] + , instance_name AS [databaseName] + , SUM( + CASE + WHEN counter_name = 'Data File(s) Size (KB)' + THEN cntr_value + END + ) AS 'dataSizeInKB' + , SUM( + CASE + WHEN counter_name = 'Log File(s) Size (KB)' + THEN cntr_value + END + ) AS 'logSizeInKB' +FROM sys.dm_os_performance_counters +WHERE counter_name IN ('Data File(s) Size (KB)' + , 'Log File(s) Size (KB)') +GROUP BY instance_name; + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[dba_monitor_unusedIndexes] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + /* Create a variable to hold a list of indexes */ +DECLARE @Indexes TABLE +( serverName NVARCHAR(128) +, schemaName SYSNAME +, schemaID INT +, databaseName SYSNAME +, databaseID INT +, tableName SYSNAME +, objectID INT +, indexName SYSNAME +, indexID INT +, indexType NVARCHAR(60) +, isPrimaryKey BIT +, isUnique BIT +, isFiltered BIT +, isPartitioned BIT +, numberOfRows BIGINT +, totalPages BIGINT); + +/* Iterate through all databases */ +INSERT INTO @Indexes (serverName, schemaName, schemaID, databaseName, databaseID, tableName, objectID, indexName, indexID, indexType, isUnique, isPrimaryKey, isFiltered, isPartitioned, numberOfRows, totalPages) +EXECUTE sys.sp_MSforeachdb +' USE ?; +SELECT @@SERVERNAME + , SCHEMA_NAME(t.schema_id) + , t.schema_id + , DB_NAME() + , DB_ID() + , t.name + , t.object_id + , i.name + , i.index_id + , i.type_desc + , i.is_primary_key + , i.is_unique + , i.has_filter + , CASE WHEN COUNT(p.partition_id) > 1 THEN 1 ELSE 0 END + , SUM(p.rows) + , SUM(au.total_pages) +FROM sys.tables AS t WITH (NOLOCK) +JOIN sys.indexes AS i WITH (NOLOCK) +ON i.object_id = t.object_id +JOIN sys.partitions AS p WITH (NOLOCK) +ON p.object_id = i.object_id +AND p.index_id = i.index_id +JOIN sys.allocation_units AS au WITH (NOLOCK) +ON au.container_id = p.partition_id +WHERE i.index_id <> 0 /* exclude heaps */ +GROUP BY SCHEMA_NAME(t.schema_id) +, t.schema_id +, t.name +, t.object_id +, i.name +, i.index_id +, i.type_desc +, i.has_filter +, i.is_unique +, i.is_primary_key;'; + +/* Retrieve index stats for return to our central repository */ +SELECT GETDATE() AS [captureDate] + , i.serverName + , i.schemaName + , i.databaseName + , i.tableName + , i.indexName + , i.indexType + , i.isFiltered + , i.isPartitioned + , i.numberOfRows + , ddius.user_seeks AS [userSeeksSinceReboot] + , ddius.user_scans AS [userScansSinceReboot] + , ddius.user_lookups AS [userLookupsSinceReboot] + , ddius.user_updates AS [userUpdatesSinceReboot] + , (i.totalPages * 8) / 1024 AS [indexSizeInMB] /* pages are 8KB */ + , dosi.sqlserver_start_time AS [lastReboot] +FROM @Indexes AS i +JOIN sys.dm_db_index_usage_stats AS ddius + ON i.databaseID = ddius.database_id + AND i.objectID = ddius.object_id + AND i.indexID = ddius.index_id +CROSS APPLY sys.dm_os_sys_info AS dosi +WHERE /* exclude system databases */ + i.databaseName NOT IN ('master', 'msdb', 'tempdb', 'model') + /* exclude unique indexes; assume they are serving a business function */ + AND i.isUnique = 0 + /* exclude primary keys; assume they are serving a business function */ + AND i.isPrimaryKey = 0 + /* no seeks have been performed since the last server reboot */ + AND user_seeks = 0; + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch01/MetadataCollection/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.sln b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.sln new file mode 100644 index 0000000..7aea51e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "SSIS Design Patterns", "SSIS Design Patterns\SSIS Design Patterns.dtproj", "{A9A3B5F2-879C-407F-9598-8ACC2A72301E}" +EndProject +Global + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 2 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://andyi7:8080/tfs/demos + SccLocalPath0 = . + SccProjectUniqueName1 = SSIS\u0020Design\u0020Patterns\\SSIS\u0020Design\u0020Patterns.dtproj + SccProjectName1 = SSIS\u0020Design\u0020Patterns + SccLocalPath1 = SSIS\u0020Design\u0020Patterns + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A9A3B5F2-879C-407F-9598-8ACC2A72301E}.Development|Default.ActiveCfg = Development + {A9A3B5F2-879C-407F-9598-8ACC2A72301E}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.vssscc b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.vssscc new file mode 100644 index 0000000..6cb031b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns.vssscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT" +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Chapter2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Chapter2.dtsx new file mode 100644 index 0000000..22c982e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Chapter2.dtsx @@ -0,0 +1,734 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_a7ed4f5cdd23450dab2693cf5890642f + ST_a7ed4f5cdd23450dab2693cf5890642f + {041504D5-A0D8-4F0C-8657-404C531026DA} + msBuild + + + + + + + + + + +]]> + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {f7671bde-5d83-4556-94c1-bfe59070ae4d} + Library + My Project + ST_a7ed4f5cdd23450dab2693cf5890642f + ST_a7ed4f5cdd23450dab2693cf5890642f + v4.0 + 512 + + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + + + + + SSIS_ST110 + + + + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sMsg As String = "Package Name: " & sPackageName + + MsgBox(sMsg, , sPackageName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAIluQU4AAAAAAAAAAOAAAiELAQgAABoAAAAIAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJQ5AABXAAAAAEAAACAEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAACAEAAAAQAAAAAYAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUAuCMAANwVAAABAAAAAAAAAP4iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAEIAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgtySwAAcAcoKQAA +CgoGFgcoKgAACiYCbyUAAAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2Vz +LlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRy +YWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50 +aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAAAAQlNKQgEAAQAAAAAADAAAAHY0 +LjAuMzAzMTkAAAAABQBsAAAAzAcAACN+AAA4CAAAcAkAACNTdHJpbmdzAAAAAKgRAABsAAAAI1VT +ABQSAAAQAAAAI0dVSUQAAAAkEgAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8AAAD6JTMAFgAA +AQAAAC4AAAAKAAAADAAAABkAAAAEAAAAOAAAAAIAAAA2AAAADwAAAAQAAAAIAAAACQAAAAkAAAAB +AAAABQAAAAEAAAADAAAAAwAAAAIAAAAAAEUJAQAAAAAACgBLASEBCgB/AWEBBgCPAYgBCgDnASEB +BgBlAogBCgDnAr0CBgAdAwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCEBG4EDgCdBG4EDgDK +BLIEBgD0BOEECgAzBQwFCgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgBCgAQBhMABgBUBjUG +BgB6BmgGBgChBpAGBgC0BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBCgBiBxMACgBuBxMACgB7 +BxMABgCdB4gBEgCzBwcEBgANCJUFBgAtCJUFBgBlCEsIBgB+CGgGBgCbCDUGBgCpCGgGBgDECGgG +BgDfCGgGBgD4CGgGBgARCWgGBgAuCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABe +ADcACQABAAIAAAEQAGkANwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAADQAFAA8AAAAAAJwA +qAANAAYAEQAAARAA2QDkACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAtAAoAGgAxAKoBIAAx +ANMBLQAxAPUBOgAxABoCRwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANEDwwAGBlYE2QBWgF4E +3ABWgGYE3ABQIAAAAAAGGFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiWARcAAQCMIAAAAAAT +CJ0BGwABAKQgAAAAABMIwwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoCQgABAOwgAAAAAEYC +UAJjAAEACCEAAAAARgJZAmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJxAAIASCEAAAAAEQB7 +AngAAgBkIQAAAAABAJkCgAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosABAC8IQAAAAAGGFsB +EwAEANAhAAAAAAMYWwETAAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAEACgiAAAAABYIggOv +AAQAMCIAAAAAERiWARcABQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUAqCIAAAAABhhbARMA +BQCwIgAAAAAGAEwEEwAFAAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwETAGEAWwHqAHEAWwH5 +ABEAWwETAHkAWwETACQAWwETACwAWwETADQAWwETADwAWwETACQArQKLACwArQKLADQArQKLADwA +rQKLAIEAWwETAIkAWwETAJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWgARkAcgJxAKkAAQaw +ARkAWwETALEAWwHAAUQA9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikAgwZXAjkAWwFcAkkA +WwETAMkAqQZ4AskArwZ4AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweMAukA3gOSAvEAWweW +AvkAhwecAtkAjgenAhEBWwFMAhkBWwETACEBWwGnAikBWwETADEBWwFIATkBWwFIAUEBWwFIAUkB +WwFIAVEBWwFIAVkBWwFIAWEBWwFIAWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkAgwBNAS4AswGn +Ay4AwwF+Ay4AqwF+Ay4AewG6Ai4AowFeAy4AuwFRAi4AcwGxAi4AgwHZAi4AiwEhAy4AkwEuAy4A +6wBRAi4AYwFYAy4AmwFRAkAAKwDlAEAAEwDwAEMAGwD/AEMAEwDwAEkAgwB/AWMAGwD/AGMAEwDw +AGkAgwByAYAAKwDlAIMAewDlAIMAGwD/AIMAcwDlAIkAgwBeAaAAKwDlAKMAEwDwAKMAwwDIAcAA +KwDlAMMA6wBRAsMAEwDwAMkAEwBvAuAAKwDlAOkAEwBvAgABKwDlAAABEwDwAAkBGwHlACABEwDw +ACABKwDlACMBYwFRAiMBawHlAEABKwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDlAKABKwDlAMAB +EwDwAMABKwDlAOABKwDlAAACKwDlAAACEwDwADQBOQE+AUMBmAGcAacBrAG7AbsBQwJjAmoCfQKs +AgQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAAAB0DtQAAAJQD +ugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwAC +ABcAEQB1AHUAiAAYAR8BJgEtASoCMQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAAAAAAAAAAAAAA +AQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAACwAAAAAAAAAA +AAAA0ADoAwAAAAALAAAAAAAAAAAAAADQAOsGAAAAAAAAAAABAAAA1QcAAAUABAAGAAQACgAJAAAA +EAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNy +b3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTVF9hN2VkNGY1Y2RkMjM0NTBkYWIyNjkz +Y2Y1ODkwNjQyZi5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNh +ZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNUX2E3ZWQ0ZjVjZGQyMzQ1MGRhYjI2OTNj +ZjU4OTA2NDJmLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUX2E3ZWQ0ZjVjZGQyMzQ1MGRhYjI2 +OTNjZjU4OTA2NDJmAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQuVmlzdWFsQmFz +aWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZp +c3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1 +dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQ +cm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNl +cwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBF +cXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5j +ZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9z +b2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250 +ZXh0AEdldEluc3RhbmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IA +U3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNl +TWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25m +aWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdl +dF9WYWx1ZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZl +ci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBF +bnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JC +cm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29t +cGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJI +aWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3Rh +bmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBv +bmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21w +aWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFu +ZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29s +bGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2Vz +AENvbVZpc2libGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2Vt +Ymx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNv +ZGVBdHRyaWJ1dGUAU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVy +Lk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0 +X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBTdHJpbmcAQ29uY2F0AEludGVyYWN0aW9uAE1z +Z0JveFJlc3VsdABNc2dCb3hTdHlsZQBNc2dCb3gAc2V0X1Rhc2tSZXN1bHQAQ0xTQ29tcGxpYW50 +QXR0cmlidXRlAFNTSVNTY3JpcHRUYXNrRW50cnlQb2ludEF0dHJpYnV0ZQBTVF9hN2VkNGY1Y2Rk +MjM0NTBkYWIyNjkzY2Y1ODkwNjQyZi5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9uUmVs +YXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVtLlJ1 +bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVy +c2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFz +c2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJs +eUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJseVRp +dGxlQXR0cmlidXRlAFNUX2E3ZWQ0ZjVjZGQyMzQ1MGRhYjI2OTNjZjU4OTA2NDJmLmRsbAAAAAAA +MU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABhAGMA +awBhAGcAZQBOAGEAbQBlAAAdUABhAGMAawBhAGcAZQAgAE4AYQBtAGUAOgAgAAAAAADLFzjR211I +RJfM16uuxsi9AAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYV +EhgBEggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwD +IAAIBCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0D +BhIhBAAAEh0EAAASIQUAAQESIQQIABIdBAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIG +CAMGESgEAAAAAAQBAAAABSABARE1CAEAAQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4w +LjAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEO +EAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAwBAAdNeS5Vc2VyAAATAQAOTXku +QXBwbGljYXRpb24AAAQAARwcAwcBAgMHAQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEe +AAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50 +UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMA +BhUSGQETAAQKARMABSABARMACAcDEwATABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRId +BAcBEiEIAQACAAAAAAAEAAEBHAQHARIgBCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEc +EYCFHAQgAQEIBAcCDg4IAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEA +Gi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVU +IEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkBACQzZjEwNGU3Yy1jMTlkLTQ0NDQtOTY2Ni1jMzU0 +MTJkYTM0N2QAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBNaWNyb3NvZnQgMjAxMQAAKAEAI1NUX2E3 +ZWQ0ZjVjZGQyMzQ1MGRhYjI2OTNjZjU4OTA2NDJmAAAOAQAJTWljcm9zb2Z0AAAAALw5AAAAAAAA +AAAAAN45AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQOQAAAAAAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAADIAwAAAAAAAAAAAADIAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAEKAMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAABAMAAAEAMAAwADAAMAAw +ADQAYgAwAAAANAAKAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYA +dAAAAHAAJAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAFQAXwBhADcAZQBk +ADQAZgA1AGMAZABkADIAMwA0ADUAMABkAGEAYgAyADYAOQAzAGMAZgA1ADgAOQAwADYANAAyAGYA +AAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAABwACgAAQBJ +AG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAVABfAGEANwBlAGQANABmADUAYwBkAGQAMgAzADQA +NQAwAGQAYQBiADIANgA5ADMAYwBmADUAOAA5ADAANgA0ADIAZgAuAGQAbABsAAAAXAAbAAEATABl +AGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAATQBpAGMA +cgBvAHMAbwBmAHQAIAAyADAAMQAxAAAAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAUwBUAF8AYQA3AGUAZAA0AGYANQBjAGQAZAAyADMANAA1ADAAZABhAGIAMgA2ADkA +MwBjAGYANQA4ADkAMAA2ADQAMgBmAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfAGEANwBlAGQANABmADUAYwBkAGQAMgAzADQANQAwAGQAYQBiADIANgA5ADMA +YwBmADUAOAA5ADAANgA0ADIAZgAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAA +ADEALgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAA +MQAuADAALgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAA8DkAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.database b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.database new file mode 100644 index 0000000..fb3ea30 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.database @@ -0,0 +1,13 @@ + + SSIS Design Patterns + SSIS Design Patterns + 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/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj new file mode 100644 index 0000000..5eda827 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj @@ -0,0 +1,2024 @@ + + + Project + 11.0.1445.2 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPg0KICA8UHJvamVjdE5hbWU+U0FLPC9Qcm9qZWN0TmFtZT4NCiAgPEF1eFBhdGg+U0FLPC9BdXhQYXRoPg0KICA8TG9jYWxQYXRoPlNBSzwvTG9jYWxQYXRoPg0KICA8UHJvdmlkZXI+U0FLPC9Qcm92aWRlcj4NCjwvU291cmNlQ29udHJvbEluZm8+ + + SSIS Design Patterns.database + SSIS Design Patterns.database + + + + + + + + {8300a56c-f714-45fd-b7bf-6cb50f927bd5} + SSIS Design Patterns + 1 + 0 + 0 + + + 2011-08-09T13:21:18.8586639-04:00 + SSISMVP-RC0\MVP + SSISMVP-RC0 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAWHv+7m19mEONQgr8Ks6SlQAAAAACAAAAAAAQZgAAAAEAACAAAAAcr9I2BP1NdGh4IFsTF6NQ79sAeHzmm0+Rf/wnEos94wAAAAAOgAAAAAIAACAAAACw3ladI5YjFlnIYCzvnDnW6mGuO/0EkDJHa1Idky1+bZAAAADPwTrM0eIOpu+udcpf/VpfOqa+ODqcbxK/s3MCktnbZA3eC1VGqM7Vay9EjLQwlILx2oxbVNOF21RcyWGahfVfD5QCBfDbQJheLlzn8qpfg7NXGEgwp4DXViZn6t/z0ZUVjYSAsEei+Y3iDqSBy9djr5OfuZ0B6PFtQYOYpjpkGo1ArcqDKzjuW9s0ml2CGZtAAAAArLF7AQr+1ZfXRgJxkRYvR8i5Nt7dAQU0wWjwqlS8ydJPirau3TSV1ZC1GodS+Y53Ddyq18uf06K5cH4VxSopHw== + 1 + + + + + + + + + + + + + + + + + + + + + + {8822CDBF-0B44-4948-9F24-B297ADD2A63C} + Chapter2 + 1 + 0 + 2 + + + {FD2F5782-502C-4647-8FE0-1B665116C9BD} + 6 + + + 1 + + + + + + {39927D9A-4FA1-41A0-91D9-4801A052CB2B} + ArchiveFile + 1 + 0 + 60 + + + {BF2F01BC-4ABD-482A-B00A-4514D6405176} + 6 + + + 1 + + + + + {CC289121-E3C2-4727-9239-EE6B51057E6F} + + + Destination of the archived file. + 0 + 1 + 0 + G:\Data\SourceFiles\Archive\ + 18 + + + + + {13164277-5598-489B-8C26-56AB31ADDA7A} + + + Flag to indicate copy-to-archive operations, instead of move-to-archive operation. + 0 + 0 + 0 + true + 3 + + + + + {1D83FCE4-DAB1-4F1D-B730-7073EB1F9B5F} + + + Format of the datetime stamp applied to the file when archived. + 0 + 0 + 0 + _yyyyMMdd_hhmmss + 18 + + + + + {5AB03796-7DBE-4744-B161-EF7936783D12} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + true + 3 + + + + + {DAE4CCFB-861E-43E6-88BD-502FB45D68F6} + + + Flag to indicate whether to log-and-continue or raise an exception on FileNotFound + 0 + 0 + 0 + true + 3 + + + + + {1D1DD4B4-B1D0-4BCD-819D-B41942D80C75} + + + Flag to indicate whether the file should overwrite the destination file. + 0 + 0 + 0 + true + 3 + + + + + {921D4A97-66F6-4226-AF5A-5B707DA23F23} + + + Path of the file to be archived. + 0 + 1 + 0 + G:\Data\SourceFiles\DATA\TH\sensor0-all.csv + 18 + + + + + + + {6F6733C2-CFC6-4FE2-9D1A-88004DA0F9A6} + ParseFileFooter + 1 + 0 + 12 + + + {E8A0BC32-F7BE-4BA3-A2A0-C2C81D200C7B} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + G:\Data\SourceFiles\FileFooters\MyFileFooterSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {099B6FC0-4465-413C-864D-8CB4198B9732} + ParseFileHeader + 1 + 0 + 18 + + + {65F3E39A-BA13-427E-B094-EE5A13A28AFB} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + G:\Data\SourceFiles\FileHeaders\MyFileHeaderSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + G:\Data\SourceFiles\FileHeaders\MyFileHeaderSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 2 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {A2A33D41-E90C-4BD9-95EB-0AA5E161753E} + WriteFileFooter + 1 + 0 + 25 + + + {348B8166-F2BB-483F-81A7-92CB755DDD9E} + 6 + + + 1 + + + + + {469C38DD-DDC4-45A1-81C7-3B3A5D0EE655} + + + A sum that can serve as a hash value. + 0 + 0 + 0 + 0 + 15 + + + + + {0BCDC12A-4BC3-4F49-92ED-4C717683F957} + + + Datetime format of the date string. + 0 + 1 + 0 + 18 + + + + + {E35658CC-C912-4277-A703-441D0635E9F4} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + true + 3 + + + + + {96299EB9-30B8-471F-89CA-85EBE14041CF} + + + Delimiter of the footer row. + 0 + 1 + 0 + , + 18 + + + + + {569C1139-F961-43AF-8976-448306A82A71} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {30BA8A4E-CDA6-41DD-B150-8DCD590648BA} + + + The date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {62AE7EAC-9E0C-4CC4-9EC3-00E8922F3E5E} + + + The path of the output file. + 0 + 1 + 0 + 18 + + + + + {CAB86DA0-5E73-4AEB-AFE4-E6A8D75E4880} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {81D77DB8-FF5F-4186-B35C-84F614A0A593} + VariableLengthRows + 1 + 0 + 2 + + + {105B3B19-33AC-4667-A3AD-F6FE2C0743B6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + G:\Data\SourceFiles\VariableLengthFile\VarLenRows.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {2528E3F5-E4BD-4D53-8067-9CE028EF18DB} + WriteFileFooter + 1 + 0 + 22 + + + {9190F972-70F9-4E0D-8413-33614603645E} + 6 + + + 1 + + + + + {6B439A7F-8E6F-4353-AF48-462225C6B8C4} + + + A sum that can serve as a hash value. + 0 + 0 + 0 + 0 + 15 + + + + + {778E7831-EBAE-4654-A360-37CE0875C119} + + + Format of the datetime string. + 0 + 1 + 0 + 18 + + + + + {C7F9F72A-748D-4F35-8F70-BF27FCB9E530} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + false + 3 + + + + + {25393BB3-DC8C-4A25-82BF-021D4BB20645} + + + Delimiter used in the footer row. + 0 + 1 + 0 + 18 + + + + + {D0D7533A-C279-4D59-BC12-3002C6A060AF} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {3465489E-06E4-475A-8266-4B4C3315485A} + + + The date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {C5802785-AB3A-4B11-8A85-C9BC8A3F826C} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + {F0375992-EC31-48AA-ACA8-8298FEE24DDE} + ParseFileHeader2 + 1 + 0 + 4 + + + {E3BC479E-16B2-4BED-9D64-E3A67CC28D1F} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + G:\Data\SourceFiles\FileHeaders\MyFileHeaderSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {DC15B076-B01C-4F19-9B20-EAA79F28F8CD} + TestParent + 1 + 0 + 42 + + + {9E0120B1-99C5-4537-A99C-705C20B5F8DE} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + G:\Projects\SSIS Design Patterns\SSIS Design Patterns\WriteFileFooter.dtsx + 18 + + + + + + + {1A8B99F0-C484-4787-B20C-7EAF5385936F} + Package1 + 1 + 0 + 2 + + + {14511512-9A8B-496D-AD18-F751B47838C9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + G:\Projects\SSIS Design Patterns\SSIS Design Patterns\Package2.dtsx + 18 + + + + + + + {ADB4CDA4-92F4-4CC0-91A5-B9C724A47E8C} + Package2 + 1 + 0 + 2 + + + {6EE55F99-97D2-4BED-8449-95188899A4CC} + 6 + + + 1 + + + + + {63B9AF70-9004-46D5-AC42-81C7EE553BF7} + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + {5AFC99BF-CC2E-4C89-9093-0AEE1925D3B8} + LogLoader + 1 + 0 + 2 + + + {C57B6F2E-911C-4219-8E10-EEF72FF20A8D} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\MVP\Desktop\MyTimeLog.txt + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-09T17:29:51.8431942Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj.vspscc b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSIS Design Patterns/SSIS Design Patterns/SSIS Design Patterns.dtproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/App.config b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/App.config new file mode 100644 index 0000000..64f3722 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.Designer.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.Designer.vb new file mode 100644 index 0000000..4a3b714 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.SSISAndVB.frmMain + End Sub + End Class +End Namespace diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.myapp b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.myapp new file mode 100644 index 0000000..5907301 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + frmMain + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/AssemblyInfo.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..6a2abd9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.Designer.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.Designer.vb new file mode 100644 index 0000000..2d5a879 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + '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. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("SSISAndVB.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.resx b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.Designer.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.Designer.vb new file mode 100644 index 0000000..6b8abdf --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.SSISAndVB.My.MySettings + Get + Return Global.SSISAndVB.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.settings b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj new file mode 100644 index 0000000..2d0bd53 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj @@ -0,0 +1,149 @@ + + + + Debug + x86 + + + 2.0 + {7553ECF7-0435-4130-A332-AB087B763B9C} + WinExe + SSISAndVB.My.MyApplication + SSISAndVB + SSISAndVB + 512 + WindowsForms + v4.0 + Client + + + x86 + true + full + true + true + bin\Debug\ + SSISAndVB.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + SSISAndVB.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + True + + + False + C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Management.IntegrationServices.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmISTree.vb + + + Form + + + + Form + + + frmMain.vb + Form + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmISTree.vb + + + frmMain.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj.user new file mode 100644 index 0000000..55f44b9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/SSISAndVB.vbproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.exe b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.exe new file mode 100644 index 0000000..30e0e90 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.exe differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.pdb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.pdb new file mode 100644 index 0000000..a81c513 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.pdb differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe new file mode 100644 index 0000000..bb84a51 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe.manifest b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.xml b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.xml new file mode 100644 index 0000000..6303c11 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/bin/Debug/SSISAndVB.xml @@ -0,0 +1,24 @@ + + + + +SSISAndVB + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.Designer.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.Designer.vb new file mode 100644 index 0000000..a7332f3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.Designer.vb @@ -0,0 +1,108 @@ + _ +Partial Class frmISTree + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.btnConnect = New System.Windows.Forms.Button() + Me.txtServer = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.tvCatalog = New System.Windows.Forms.TreeView() + Me.btnSelect = New System.Windows.Forms.Button() + Me.GroupBox1.SuspendLayout() + Me.SuspendLayout() + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.btnConnect) + Me.GroupBox1.Controls.Add(Me.txtServer) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Location = New System.Drawing.Point(13, 13) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(332, 77) + Me.GroupBox1.TabIndex = 0 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Connection" + ' + 'btnConnect + ' + Me.btnConnect.Location = New System.Drawing.Point(251, 48) + Me.btnConnect.Name = "btnConnect" + Me.btnConnect.Size = New System.Drawing.Size(75, 23) + Me.btnConnect.TabIndex = 2 + Me.btnConnect.Text = "Connect" + Me.btnConnect.UseVisualStyleBackColor = True + ' + 'txtServer + ' + Me.txtServer.Location = New System.Drawing.Point(55, 20) + Me.txtServer.Name = "txtServer" + Me.txtServer.Size = New System.Drawing.Size(271, 20) + Me.txtServer.TabIndex = 1 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(7, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(41, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Server:" + ' + 'tvCatalog + ' + Me.tvCatalog.Location = New System.Drawing.Point(13, 97) + Me.tvCatalog.Name = "tvCatalog" + Me.tvCatalog.Size = New System.Drawing.Size(332, 182) + Me.tvCatalog.TabIndex = 1 + ' + 'btnSelect + ' + Me.btnSelect.Location = New System.Drawing.Point(264, 285) + Me.btnSelect.Name = "btnSelect" + Me.btnSelect.Size = New System.Drawing.Size(75, 23) + Me.btnSelect.TabIndex = 2 + Me.btnSelect.Text = "Select" + Me.btnSelect.UseVisualStyleBackColor = True + ' + 'frmISTree + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(357, 313) + Me.Controls.Add(Me.btnSelect) + Me.Controls.Add(Me.tvCatalog) + Me.Controls.Add(Me.GroupBox1) + Me.Name = "frmISTree" + Me.Text = "ISTree" + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents btnConnect As System.Windows.Forms.Button + Friend WithEvents txtServer As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents tvCatalog As System.Windows.Forms.TreeView + Friend WithEvents btnSelect As System.Windows.Forms.Button +End Class diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.resx b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.vb new file mode 100644 index 0000000..7449dc1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTree.vb @@ -0,0 +1,31 @@ +' +' frmISTree code +' +' I use a Helper Pattern when developing interfaces. +' Each form is named frm_____ and there is a corresponding module named frm_____Helper.vb. +' Each event method calls a subroutine in the Helper module. +' +Public Class frmISTree + + Private Sub btnConnect_Click(ByVal sender As System.Object, _ + ByVal e As System.EventArgs) Handles btnConnect.Click + btnConnectClick() + End Sub + + Private Sub btnSelect_Click(ByVal sender As System.Object, _ + ByVal e As System.EventArgs) Handles btnSelect.Click + btnSelectClick() + End Sub + + Private Sub tvCatalog_AfterSelect(ByVal sender As System.Object, _ + ByVal e As System.Windows.Forms.TreeViewEventArgs) _ +Handles tvCatalog.AfterSelect + + End Sub + + Private Sub tvCatalog_DoubleClick(ByVal sender As Object, _ + ByVal e As System.EventArgs) _ +Handles tvCatalog.DoubleClick + tvCatalogDoubleClick() + End Sub +End Class diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTreeHelper.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTreeHelper.vb new file mode 100644 index 0000000..e298245 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmISTreeHelper.vb @@ -0,0 +1,100 @@ +' +' frmISTreeHelper module +' +' I use a Helper Pattern when developing interfaces. +' Each form is named frm_____ and there is a corresponding module named frm_____Helper.vb. +' Each event method calls a subroutine in the Helper module. +' +' This module supports frmISTree. +' + +Imports Microsoft.SqlServer.Management.IntegrationServices +Imports Microsoft.SqlServer.Management.Smo + +Module frmISTreeHelper + + ' variables + Public sFullSSISPkgPath As String + + Sub frmISTreeInit() + + ' initialize and load frmISTree + + With frmISTree + .Text = "Integration Services" + .txtServer.Text = "localhost" + .ShowDialog() + End With + + End Sub + + Sub btnConnectClick() + + ' connect to the server indicated in the txtServer textbox + ' hook into the SSISDB catalog + ' build out the SSISDB node by iterating the objects stored therein + ' load the node and display it + + With frmISTree + Dim oServer As New Server(.txtServer.Text) + Dim oIS As New IntegrationServices(oServer) + Dim cat As Catalog = oIS.Catalogs("SSISDB") + Dim L1Node As New TreeNode("SSISDB") + L1Node.ImageIndex = 0 + Dim L2Node As TreeNode + Dim L3Node As TreeNode + Dim L4Node As TreeNode + + For Each f As CatalogFolder In cat.Folders + L2Node = New TreeNode(f.Name) + L2Node.ImageIndex = 1 + L1Node.Nodes.Add(L2Node) + '.tvCatalog.Nodes.Add(L2Node) + For Each pr As ProjectInfo In f.Projects + L3Node = New TreeNode(pr.Name) + L3Node.ImageIndex = 2 + L2Node.Nodes.Add(L3Node) + '.tvCatalog.Nodes.Add(L3Node) + For Each pkg As PackageInfo In pr.Packages + L4Node = New TreeNode(pkg.Name) + L4Node.ImageIndex = 3 + L3Node.Nodes.Add(L4Node) + '.tvCatalog.Nodes.Add(L4Node) + Next + Next + Next + + .tvCatalog.Nodes.Add(L1Node) + End With + + End Sub + + Sub btnSelectClick() + + ' if the image index level indicates a package, + ' select this node, populate the sFullSSISPkgPath variable, + ' and close the form + + With frmISTree + If Not .tvCatalog.SelectedNode Is Nothing Then + If .tvCatalog.SelectedNode.ImageIndex = 3 Then + sFullSSISPkgPath = .txtServer.Text & "." & _ + .tvCatalog.SelectedNode.FullPath() + .Close() + End If + End If + End With + + End Sub + + Sub tvCatalogDoubleClick() + + ' run the Select Click logic + + With frmISTree + btnSelectClick() + End With + + End Sub + +End Module diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.Designer.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.Designer.vb new file mode 100644 index 0000000..7c5eb4b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.Designer.vb @@ -0,0 +1,274 @@ + _ +Partial Class frmMain + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.gbFileSystem = New System.Windows.Forms.GroupBox() + Me.btnStartFile = New System.Windows.Forms.Button() + Me.btnOpenSSISPkg = New System.Windows.Forms.Button() + Me.txtSSISPkgPath = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.btnOpenSSISPkgInCatalog = New System.Windows.Forms.Button() + Me.btnStartCatalog = New System.Windows.Forms.Button() + Me.txtCatalogPackage = New System.Windows.Forms.TextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.txtCatalogProject = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.txtFolder = New System.Windows.Forms.TextBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.txtCatalog = New System.Windows.Forms.TextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtSSISCatalogServer = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.txtStatus = New System.Windows.Forms.TextBox() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.gbFileSystem.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.SuspendLayout() + ' + 'gbFileSystem + ' + Me.gbFileSystem.Controls.Add(Me.btnStartFile) + Me.gbFileSystem.Controls.Add(Me.btnOpenSSISPkg) + Me.gbFileSystem.Controls.Add(Me.txtSSISPkgPath) + Me.gbFileSystem.Controls.Add(Me.Label1) + Me.gbFileSystem.Location = New System.Drawing.Point(13, 13) + Me.gbFileSystem.Name = "gbFileSystem" + Me.gbFileSystem.Size = New System.Drawing.Size(517, 76) + Me.gbFileSystem.TabIndex = 0 + Me.gbFileSystem.TabStop = False + Me.gbFileSystem.Text = "SSIS Package in the File System" + ' + 'btnStartFile + ' + Me.btnStartFile.Location = New System.Drawing.Point(444, 43) + Me.btnStartFile.Name = "btnStartFile" + Me.btnStartFile.Size = New System.Drawing.Size(67, 23) + Me.btnStartFile.TabIndex = 3 + Me.btnStartFile.Text = "Start" + Me.btnStartFile.UseVisualStyleBackColor = True + ' + 'btnOpenSSISPkg + ' + Me.btnOpenSSISPkg.Location = New System.Drawing.Point(473, 14) + Me.btnOpenSSISPkg.Name = "btnOpenSSISPkg" + Me.btnOpenSSISPkg.Size = New System.Drawing.Size(38, 23) + Me.btnOpenSSISPkg.TabIndex = 2 + Me.btnOpenSSISPkg.Text = "..." + Me.btnOpenSSISPkg.UseVisualStyleBackColor = True + ' + 'txtSSISPkgPath + ' + Me.txtSSISPkgPath.Location = New System.Drawing.Point(82, 17) + Me.txtSSISPkgPath.Name = "txtSSISPkgPath" + Me.txtSSISPkgPath.Size = New System.Drawing.Size(380, 20) + Me.txtSSISPkgPath.TabIndex = 1 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(7, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(78, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Package Path:" + Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.btnOpenSSISPkgInCatalog) + Me.GroupBox1.Controls.Add(Me.btnStartCatalog) + Me.GroupBox1.Controls.Add(Me.txtCatalogPackage) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.txtCatalogProject) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.txtFolder) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.txtCatalog) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.txtSSISCatalogServer) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Location = New System.Drawing.Point(13, 95) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(517, 102) + Me.GroupBox1.TabIndex = 1 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "SSIS Package in the Catalog" + ' + 'btnOpenSSISPkgInCatalog + ' + Me.btnOpenSSISPkgInCatalog.Location = New System.Drawing.Point(473, 15) + Me.btnOpenSSISPkgInCatalog.Name = "btnOpenSSISPkgInCatalog" + Me.btnOpenSSISPkgInCatalog.Size = New System.Drawing.Size(38, 23) + Me.btnOpenSSISPkgInCatalog.TabIndex = 11 + Me.btnOpenSSISPkgInCatalog.Text = "..." + Me.btnOpenSSISPkgInCatalog.UseVisualStyleBackColor = True + ' + 'btnStartCatalog + ' + Me.btnStartCatalog.Location = New System.Drawing.Point(444, 73) + Me.btnStartCatalog.Name = "btnStartCatalog" + Me.btnStartCatalog.Size = New System.Drawing.Size(67, 23) + Me.btnStartCatalog.TabIndex = 10 + Me.btnStartCatalog.Text = "Start" + Me.btnStartCatalog.UseVisualStyleBackColor = True + ' + 'txtCatalogPackage + ' + Me.txtCatalogPackage.Location = New System.Drawing.Point(295, 43) + Me.txtCatalogPackage.Name = "txtCatalogPackage" + Me.txtCatalogPackage.Size = New System.Drawing.Size(167, 20) + Me.txtCatalogPackage.TabIndex = 9 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(232, 46) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(53, 13) + Me.Label6.TabIndex = 8 + Me.Label6.Text = "Package:" + Me.Label6.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtCatalogProject + ' + Me.txtCatalogProject.Location = New System.Drawing.Point(54, 43) + Me.txtCatalogProject.Name = "txtCatalogProject" + Me.txtCatalogProject.Size = New System.Drawing.Size(151, 20) + Me.txtCatalogProject.TabIndex = 7 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(7, 46) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(43, 13) + Me.Label5.TabIndex = 6 + Me.Label5.Text = "Project:" + Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtFolder + ' + Me.txtFolder.Location = New System.Drawing.Point(349, 17) + Me.txtFolder.Name = "txtFolder" + Me.txtFolder.Size = New System.Drawing.Size(113, 20) + Me.txtFolder.TabIndex = 5 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(304, 20) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(39, 13) + Me.Label4.TabIndex = 4 + Me.Label4.Text = "Folder:" + Me.Label4.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtCatalog + ' + Me.txtCatalog.Location = New System.Drawing.Point(202, 17) + Me.txtCatalog.Name = "txtCatalog" + Me.txtCatalog.Size = New System.Drawing.Size(96, 20) + Me.txtCatalog.TabIndex = 3 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(150, 20) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(46, 13) + Me.Label3.TabIndex = 2 + Me.Label3.Text = "Catalog:" + Me.Label3.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtSSISCatalogServer + ' + Me.txtSSISCatalogServer.Location = New System.Drawing.Point(54, 17) + Me.txtSSISCatalogServer.Name = "txtSSISCatalogServer" + Me.txtSSISCatalogServer.Size = New System.Drawing.Size(90, 20) + Me.txtSSISCatalogServer.TabIndex = 1 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(7, 20) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(41, 13) + Me.Label2.TabIndex = 0 + Me.Label2.Text = "Server:" + Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'txtStatus + ' + Me.txtStatus.BackColor = System.Drawing.SystemColors.ButtonFace + Me.txtStatus.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtStatus.Location = New System.Drawing.Point(13, 203) + Me.txtStatus.Multiline = True + Me.txtStatus.Name = "txtStatus" + Me.txtStatus.Size = New System.Drawing.Size(511, 47) + Me.txtStatus.TabIndex = 2 + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(542, 262) + Me.Controls.Add(Me.txtStatus) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.gbFileSystem) + Me.Name = "frmMain" + Me.Text = "frmMain" + Me.gbFileSystem.ResumeLayout(False) + Me.gbFileSystem.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents gbFileSystem As System.Windows.Forms.GroupBox + Friend WithEvents btnOpenSSISPkg As System.Windows.Forms.Button + Friend WithEvents txtSSISPkgPath As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents btnStartFile As System.Windows.Forms.Button + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents txtSSISCatalogServer As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents txtCatalogPackage As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents txtCatalogProject As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents txtFolder As System.Windows.Forms.TextBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents txtCatalog As System.Windows.Forms.TextBox + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents btnOpenSSISPkgInCatalog As System.Windows.Forms.Button + Friend WithEvents btnStartCatalog As System.Windows.Forms.Button + Friend WithEvents txtStatus As System.Windows.Forms.TextBox + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + +End Class diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.resx b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.resx new file mode 100644 index 0000000..33c7f67 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.vb new file mode 100644 index 0000000..4ac287c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMain.vb @@ -0,0 +1,30 @@ +' +' frmMain code +' +' I use a Helper Pattern when developing interfaces. +' Each form is named frm_____ and there is a corresponding module named frm_____Helper.vb. +' Each event method calls a subroutine in the Helper module. +' + +Public Class frmMain + + Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + InitFrmMain() + End Sub + + Private Sub btnStartFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartFile.Click + btnStartFileClick() + End Sub + + Private Sub btnOpenSSISPkg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenSSISPkg.Click + btnOpenSSISPkgClick() + End Sub + + Private Sub btnStartCatalog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartCatalog.Click + btnStartCatalogClick() + End Sub + + Private Sub btnOpenSSISPkgInCatalog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenSSISPkgInCatalog.Click + btnOpenSSISPkgInCatalogClick() + End Sub +End Class diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMainHelper.vb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMainHelper.vb new file mode 100644 index 0000000..d2b7aad --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/frmMainHelper.vb @@ -0,0 +1,144 @@ +' +' frmMainHelper module +' +' I use a Helper Pattern when developing interfaces. +' Each form is named frm_____ and there is a corresponding module named frm_____Helper.vb. +' Each event method calls a subroutine in the Helper module. +' +' This module supports frmMain. +' +Imports System +Imports System.Windows +Imports System.Windows.Forms +Imports Microsoft.SqlServer.Dts.Runtime.Wrapper +Imports Microsoft.SqlServer.Management.IntegrationServices +Imports Microsoft.SqlServer.Management.Smo + +Module frmMainHelper + + Public Sub InitFrmMain() + + ' initialize and load frmISTree + + ' define the version + Dim sVer As String = System.Windows.Forms.Application.ProductName & " v" & _ +System.Windows.Forms.Application.ProductVersion + + ' display the version and startup status + With frmMain + .Text = sVer + .txtStatus.Text = sVer & ControlChars.CrLf & "Ready" + End With + + End Sub + + Public Sub btnStartFileClick() + + ' configure an SSIS application and execute the selected SSIS package file + + With frmMain + .Cursor = Cursors.WaitCursor + .txtStatus.Text = "Executing " & .txtSSISPkgPath.Text + .Refresh() + Dim ssisApp As New Microsoft.SqlServer.Dts.Runtime.Wrapper.Application + Dim ssisPkg As Package = ssisApp.LoadPackage(.txtSSISPkgPath.Text, _ +AcceptRejectRule.None, Nothing) + ssisPkg.Execute() + .Cursor = Cursors.Default + .txtStatus.Text = .txtSSISPkgPath.Text & " executed." + End With + + End Sub + + Public Sub btnOpenSSISPkgClick() + + ' allow the user to navigate to an SSIS package file + + With frmMain + .OpenFileDialog1.DefaultExt = "dtsx" + .OpenFileDialog1.ShowDialog() + .txtSSISPkgPath.Text = .OpenFileDialog1.FileName + .txtStatus.Text = .txtSSISPkgPath.Text & " package path loaded." + End With + + End Sub + + Sub btnOpenSSISPkgInCatalogClick() + + ' allow the user to navigate to an SSIS package stored in a catalog + + frmISTreeInit() + + Dim sTmp As String = sFullSSISPkgPath + Dim sServerName As String = Strings.Left(sTmp, Strings.InStr(sTmp, ".") - 1) + Dim iStart As Integer = Strings.InStr(sTmp, ".") + 1 + Dim iEnd As Integer = Strings.InStr(sTmp, "\") + Dim iLen As Integer + Dim sCatalogName As String + Dim sFolderName As String + Dim sProjectName As String + Dim sPackageName As String + + If iEnd > iStart Then + iLen = iEnd - iStart + sCatalogName = Strings.Mid(sTmp, iStart, iLen) + sTmp = Strings.Right(sTmp, Strings.Len(sTmp) - iEnd) + + iStart = 1 + iEnd = Strings.InStr(sTmp, "\") + If iEnd > iStart Then + iLen = iEnd - iStart + sFolderName = Strings.Mid(sTmp, iStart, iLen) + sTmp = Strings.Right(sTmp, Strings.Len(sTmp) - iEnd) + + iStart = 1 + iEnd = Strings.InStr(sTmp, "\") + If iEnd > iStart Then + iLen = iEnd - iStart + sProjectName = Strings.Mid(sTmp, iStart, iLen) + sTmp = Strings.Right(sTmp, Strings.Len(sTmp) - iEnd) + sPackageName = sTmp + End If + End If + End If + + + With frmMain + .txtSSISCatalogServer.Text = sServerName + .txtCatalog.Text = sCatalogName + .txtFolder.Text = sFolderName + .txtCatalogProject.Text = sProjectName + .txtCatalogPackage.Text = sPackageName + .txtStatus.Text = sFullSSISPkgPath & " metadata loaded and parsed." + End With + + End Sub + + Sub btnStartCatalogClick() + + ' configure an SSIS application and execute the selected SSIS package from the + ' catalog + + With frmMain + .Cursor = Cursors.WaitCursor + .txtStatus.Text = "Loading " & sFullSSISPkgPath + .Refresh() + Dim oServer As New Server(.txtSSISCatalogServer.Text) + Dim oIS As New IntegrationServices(oServer) + Dim cat As Catalog = oIS.Catalogs(.txtCatalog.Text) + Dim fldr As CatalogFolder = cat.Folders(.txtFolder.Text) + Dim prj As ProjectInfo = fldr.Projects(.txtCatalogProject.Text) + Dim pkg As PackageInfo = prj.Packages(.txtCatalogPackage.Text) + .txtStatus.Text = sFullSSISPkgPath & " loaded. Starting validation..." + .Refresh() + pkg.Validate(False, PackageInfo.ReferenceUsage.UseAllReferences, Nothing) + .txtStatus.Text = sFullSSISPkgPath & " validated. Starting execution..." + .Refresh() + pkg.Execute(False, Nothing) + .txtStatus.Text = sFullSSISPkgPath & " execution started." + .Cursor = Cursors.Default + End With + + End Sub + +End Module diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..a6efa29 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..afb24ad Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.read.1.tlog b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.read.1.tlog new file mode 100644 index 0000000..b31a852 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.read.1.tlog differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.write.1.tlog b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.write.1.tlog new file mode 100644 index 0000000..8c35d0f Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/GenerateResource.write.1.tlog differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/ResolveAssemblyReference.cache b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/ResolveAssemblyReference.cache new file mode 100644 index 0000000..ddac10e Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/ResolveAssemblyReference.cache differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.Resources.resources b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.Resources.resources differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.exe b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.exe new file mode 100644 index 0000000..30e0e90 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.exe differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmISTree.resources b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmISTree.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmISTree.resources differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmMain.resources b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmMain.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.frmMain.resources differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.pdb b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.pdb new file mode 100644 index 0000000..a81c513 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.pdb differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.vbproj.FileListAbsolute.txt b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..dda8ddb --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.vbproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +F:\SSIS 2012 Design Patterns\SSISAndVB\bin\Debug\SSISAndVB.exe +F:\SSIS 2012 Design Patterns\SSISAndVB\bin\Debug\SSISAndVB.pdb +F:\SSIS 2012 Design Patterns\SSISAndVB\bin\Debug\SSISAndVB.xml +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\ResolveAssemblyReference.cache +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.frmMain.resources +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.Resources.resources +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\GenerateResource.read.1.tlog +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\GenerateResource.write.1.tlog +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.exe +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.xml +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.pdb +F:\SSIS 2012 Design Patterns\SSISAndVB\obj\x86\Debug\SSISAndVB.frmISTree.resources diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.xml b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.xml new file mode 100644 index 0000000..6303c11 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/SSISAndVB.xml @@ -0,0 +1,24 @@ + + + + +SSISAndVB + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..7fd1636 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch02/SSISAndVB/obj/x86/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-1.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-1.sql new file mode 100644 index 0000000..df22f85 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-1.sql @@ -0,0 +1,17 @@ +Declare @execution_id bigint +EXEC [SSISDB].[catalog].[create_execution] + @package_name=N'Chapter2.dtsx' + ,@execution_id=@execution_id OUTPUT + ,@folder_name=N'Chapter2' + ,@project_name=N'Chapter 2' + ,@use32bitruntime=False + ,@reference_id=Null +Select @execution_id +DECLARE @var0 smallint = 1 +EXEC [SSISDB].[catalog].[set_execution_parameter_value] + @execution_id + ,@object_type=50 + ,@parameter_name=N'LOGGING_LEVEL' + ,@parameter_value=@var0 +EXEC [SSISDB].[catalog].[start_execution] @execution_id +GO diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-2.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-2.sql new file mode 100644 index 0000000..81e00c8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-2.sql @@ -0,0 +1,150 @@ + /* Select the SSISDB database */ +Use SSISDB +Go + + /* Create a parameter (variable) named @Sql */ +Declare @Sql varchar(2000) + + /* Create the Custom schema if it does not already exist */ +print 'Custom Schema' +If Not Exists(Select name + From sys.schemas + Where name = 'custom') + begin + /* Create Schema statements must occur first in a batch */ + print ' - Creating custom schema' + Set @Sql = 'Create Schema custom' + Exec(@Sql) + print ' - Custom schema created' + end +Else + print ' - Custom Schema already exists.' +print '' + + /* Drop the Custom.execute_catalog_package Stored Procedure if it already exists */ +print 'Custom.execute_catalog_package Stored Procedure' + If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'execute_catalog_package') + begin + print ' - Dropping custom.execute_catalog_package' + Drop Procedure custom.execute_catalog_package + print ' - Custom.execute_catalog_package dropped' + end + + /* Create the Custom.execute_catalog_package Stored Procedure */ + print ' - Creating custom.execute_catalog_package' +go + +/* + + Stored Procedure: custom.execute_catalog_package + Author: Andy Leonard + Date: 4 Mar 2012 + Description: Creates a wrapper around the SSISDB Catalog procedures + used to start executing an SSIS Package. Packages in the + SSIS Catalog are referenced by a multi-part identifier + - or path - that consists of the following hierarchy: + Catalog Name: Implied by the database name in Integration Server 2012 + |-Folder Name: A folder created before or at Deployment to contain the SSIS project + |-Project Name: The name of the SSIS Project deployed + |-Package Name: The name(s) of the SSIS Package(s) deployed + + Parameters: + @FolderName [nvarchar(128)] {No default} + contains the name of the Folder that holds the SSIS Project + @ProjectName [nvarchar(128)] {No default} + contains the name of the SSIS Project that holds the SSIS Package + @PackageName [nvarchar(260)] {No default} + contains the name of the SSIS Package to be executed + @ExecutionID [bigint] {Output} + Output parameter (variable) passed back to the caller + @LoggingLevel [varchar(16)] {Default} + contains the (case-insensitive) name of the logging level + to apply to this execution instance + @Use32BitRunTime [bit] {Default} + 1 == Use 64-bit run-time + 0 == Use 32-bit run-time + @ReferenceID [bigint] {Default} contains a reference to an Execution Environment + @ObjectType [smallint] contains an identifier that appears to be related to the SSIS PackageType property + Guessing: @ObjectType == PackageType.ordinal (1-based-array) * 10 + Must be 20, 30, or 50 for catalog.set_execution_parameter_value + stored procedure + + Test: + 1. Create and deploy an SSIS Package to the SSIS Catalog. + 2. Exec custom.execute_catalog_package and pass it the + following parameters: @FolderName, @ProjectName, @PackageName, @ExecutionID Output + @LoggingLevel, @Use32BitRunTime, @ReferenceID, and @ObjectType are optional and + defaulted parameters. + + Example: + Declare @ExecId bigint + Exec custom.execute_catalog_package + 'Chapter2' + ,'Chapter 2' + ,'Chapter2.dtsx' + ,@ExecId Output + 3. When execution completes, an Execution_Id value should be returned. + View the SSIS Catalog Reports to determine the status of the execution + instance and the test. + +*/ +Create Procedure custom.execute_catalog_package + @FolderName nvarchar(128) + ,@ProjectName nvarchar(128) + ,@PackageName nvarchar(260) + ,@ExecutionID bigint Output + ,@LoggingLevel varchar(16) = 'Basic' + ,@Use32BitRunTime bit = 0 + ,@ReferenceID bigint = NULL + ,@ObjectType smallint = 50 +As + + begin + + Set NoCount ON + + /* Call the catalog.create_execution stored procedure + to initialize execution location and parameters */ + Exec catalog.create_execution + @package_name = @PackageName + ,@execution_id = @ExecutionID Output + ,@folder_name = @FolderName + ,@project_name = @ProjectName + ,@use32bitruntime = @Use32BitRunTime + ,@reference_id = @ReferenceID + + /* Populate the @ExecutionID parameter for OUTPUT */ + Select @ExecutionID As Execution_Id + + /* Create a parameter (variable) named @Sql */ + Declare @logging_level smallint + /* Decode the Logging Level */ + Select @logging_level = Case + When Upper(@LoggingLevel) = 'BASIC' + Then 1 + When Upper(@LoggingLevel) = 'PERFORMANCE' + Then 2 + When Upper(@LoggingLevel) = 'VERBOSE' + Then 3 + Else 0 /* 'None' */ + End + /* Call the catalog.set_execution_parameter_value stored + procedure to update the LOGGING_LEVEL parameter */ + Exec catalog.set_execution_parameter_value + @ExecutionID + ,@object_type = @ObjectType + ,@parameter_name = N'LOGGING_LEVEL' + ,@parameter_value = @logging_level + + /* Call the catalog.start_execution (self-explanatory) */ + Exec catalog.start_execution + @ExecutionID + + end + +GO diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-3.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-3.sql new file mode 100644 index 0000000..696d9c8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-3.sql @@ -0,0 +1,3 @@ +Declare @ExecId bigint +Exec SSISDB.custom.execute_catalog_package 'Chapter2','Chapter 2','Chapter2.dtsx', +@ExecId Output diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-4.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-4.sql new file mode 100644 index 0000000..6fe6962 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-4.sql @@ -0,0 +1,175 @@ +/* Select the SSISDB database */ +Use SSISDB +Go + + /* Create a parameter (variable) named @Sql */ +Declare @Sql varchar(2000) + + /* Create the Custom schema if it does not already exist */ +print 'Custom Schema' +If Not Exists(Select name + From sys.schemas +Where name = 'custom') + begin + /* Create Schema statements must occur first in a batch */ + print ' - Creating custom schema' + Set @Sql = 'Create Schema custom' + Exec(@Sql) + print ' - Custom schema created' + end +Else + print ' - Custom Schema already exists.' +print '' + + /* Drop the Custom.execute_catalog_package_with_data_tap + Stored Procedure if it already exists */ +print 'Custom.execute_catalog_package_with_data_tap Stored Procedure' + If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'execute_catalog_package_with_data_tap') + begin + print ' - Dropping custom.execute_catalog_package_with_data_tap' + Drop Procedure custom.execute_catalog_package_with_data_tap + print ' - Custom.execute_catalog_package_with_data_tap dropped' + end + + /* Create the Custom.execute_catalog_package_with_data_tap Stored Procedure */ + print ' - Creating custom.execute_catalog_package_with_data_tap' +go + +/* + + + Stored Procedure: custom.execute_catalog_package_with_data_tap + Author: Andy Leonard + Date: 4 Apr 2012 + Description: Creates a wrapper around the SSISDB Catalog procedures + used to start executing an SSIS Package and create a + data tap. Packages in the + SSIS Catalog are referenced by a multi-part identifier + - or path - that consists of the following hierarchy: + Catalog Name: Implied by the database name in Integration Server 2012 + |-Folder Name: A folder created before or at Deployment to contain the SSIS project + |-Project Name: The name of the SSIS Project deployed + |-Package Name: The name(s) of the SSIS Package(s) deployed + Parameters: + @FolderName [nvarchar(128)] {No default} - contains the name of the + Folder that holds the SSIS Project + @ProjectName [nvarchar(128)] {No default} - contains the name of the + SSIS Project that holds the SSIS Package + @PackageName [nvarchar(260)] {No default} - contains the name of the + SSIS Package to be executed + @ExecutionID [bigint] {Output} - Output parameter (variable) passed back + to the caller + @LoggingLevel [varchar(16)] {Default} - contains the (case-insensitive) + name of the logging level to apply to this execution instance + @Use32BitRunTime [bit] {Default} - 1 == Use 64-bit run-time + 0 == Use 32-bit run-time + @ReferenceID [bigint] {Default} - contains a reference to an Execution Environment + @ObjectType [smallint] - contains an identifier that appears to be related + to the SSIS PackageType property + + Guessing: @ObjectType == PackageType.ordinal (1-based-array) * 10 + Must be 20, 30, or 50 for catalog.set_execution_parameter_value + stored procedure + @DataFlowTaskName [nvarchar(255)] - contains the name of the Data Flow Task in which to + to apply the data tap. + @IdentificationString [nvarchar(255)] - contains the Data Flow Path Identification string + in which to apply the data tap. + @DataTapFileName [nvarchar(4000)] - contains the name of the file to create to contain + the rows captured from the data tap. + Saved in the :\Program Files\Microsoft SQL Server\110\DTS\DataDumps folder. + @DataTapMaxRows [int] - contains the maximum number of rows to send to the data tap file. + + Test: + 1. Create and deploy an SSIS Package to the SSIS Catalog. + 2. Exec custom.execute_catalog_package_with_data_tap and pass it the + following parameters: @FolderName, @ProjectName, @PackageName, + @DataFlowTaskName, @IdentificationString, @DataTapFileName, + @ExecutionID Output + @LoggingLevel, @Use32BitRunTime, @ReferenceID, @ObjectType, + and @DataTapMaxRows are optional and defaulted parameters. + + Example: + Declare @ExecId bigint + Exec custom.execute_catalog_package_with_data_tap + 'SSISConfig2012','SSISConfig2012','Child1.dtsx', + 'Data Flow Task', 'OLESRC Temperature.OLE DB Source Output', + 'Child1_DataFlowTask_OLESRCTemperature_OLEDBSourceOutput.csv',@ExecId Output + + 3. When execution completes, an Execution_Id value should be returned. + View the SSIS Catalog Reports to determine the status of the + execution instance and the test. + +*/ +Create Procedure [custom].[execute_catalog_package_with_data_tap] + @FolderName nvarchar(128) + ,@ProjectName nvarchar(128) + ,@PackageName nvarchar(260) + ,@DataFlowTaskName nvarchar(255) + ,@IdentificationString nvarchar(255) + ,@DataTapFileName nvarchar(4000) + ,@ExecutionID bigint Output + ,@LoggingLevel varchar(16) = 'Basic' + ,@Use32BitRunTime bit = 0 + ,@ReferenceID bigint = NULL + ,@ObjectType smallint = 50 + ,@DataTapMaxRows int = NULL +As + + begin + + Set NoCount ON + + /* Call the catalog.create_execution stored procedure + to initialize execution location and parameters */ + Exec catalog.create_execution + @package_name = @PackageName + ,@execution_id = @ExecutionID Output + ,@folder_name = @FolderName + ,@project_name = @ProjectName + ,@use32bitruntime = @Use32BitRunTime + ,@reference_id = @ReferenceID + + /* Populate the @ExecutionID parameter for OUTPUT */ + Select @ExecutionID As Execution_Id + + /* Configure Data Tap parameters */ + If (Left(@DataFlowTaskName, 9) <> '\Package\') + Set @DataFlowTaskName = '\Package\' + @DataFlowTaskName + + If Left(@IdentificationString,6) <> 'Paths[' + Set @IdentificationString = 'Paths[' + @IdentificationString + ']' + + /* Create the Data Tap */ + EXEC [SSISDB].[catalog].add_data_tap @ExecutionID, @DataFlowTaskName, + @IdentificationString, @DataTapFileName, @DataTapMaxRows + + /* Create a parameter (variable) named @Sql */ + Declare @logging_level smallint + /* Decode the Logging Level */ + Select @logging_level = Case + When Upper(@LoggingLevel) = 'BASIC' + Then 1 + When Upper(@LoggingLevel) = 'PERFORMANCE' + Then 2 + When Upper(@LoggingLevel) = 'VERBOSE' + Then 3 + Else 0 /* 'None' */ + End + /* Call the catalog.set_execution_parameter_value stored + procedure to update the LOGGING_LEVEL parameter */ + Exec catalog.set_execution_parameter_value + @ExecutionID + ,@object_type = @ObjectType + ,@parameter_name = N'LOGGING_LEVEL' + ,@parameter_value = @logging_level + + /* Call the catalog.start_execution (self-explanatory) */ + Exec catalog.start_execution + @ExecutionID + + end diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-5.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-5.sql new file mode 100644 index 0000000..11caf9b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-5.sql @@ -0,0 +1,353 @@ +/* Switch to SSISDB database */ +Use SSISDB +Go + +/* Build custom Schema */ +print 'Custom Schema' +/* Check for existence of custom Schema */ +If Not Exists(Select name + From sys.schemas + Where name = 'custom') + begin + /* Build and execute custom Schema SQL + if it does not exist */ + print ' - Creating custom schema' + declare @CustomSchemaSql varchar(32) = 'Create Schema custom' + exec(@CustomSchemaSql) + print ' - Custom schema created' + end +Else + /* If the custom schema exists, tell us */ + print ' - Custom schema already exists.' + print '' +Go + +/* Build custom.Application table */ +print 'Custom.Application Table' +/* Check for existence of custom.Application table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'custom' + And t.name = 'Application') + begin + /* Create custom.Application table + if it does not exist */ + print ' - Creating custom.Application Table' + Create Table custom.Application + ( + ApplicationID int identity(1,1) + Constraint PK_custom_Application Primary Key Clustered + ,ApplicationName nvarchar(256) Not Null + Constraint U_custom_ApplicationName Unique + ,ApplicationDescription nvarchar(512) Null + ) + print ' - Custom.Application Table created' + end +Else + /* If the custom.Application table exists, tell us */ + print ' - Custom.Application Table already exists.' +print '' + +/* Build custom.Package table */ +print 'Custom.Package Table' +/* Check for existence of custom.Package table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'custom' + And t.name = 'Package') + begin + /* Create custom.Package table + if it does not exist */ + print ' - Creating custom.Package Table' + Create Table custom.Package + ( + PackageID int identity(1,1) + Constraint PK_custom_Package Primary Key Clustered + ,FolderName nvarchar(128) Not Null + ,ProjectName nvarchar(128) Not Null + ,PackageName nvarchar(256) Not Null + ,PackageDescription nvarchar(512) Null + ) + print ' - Custom.Package Table created' + end +Else + /* If the custom.Package table exists, tell us */ + print ' - Custom.Package Table already exists.' +print '' + +/* Build custom.ApplicationPackage table */ +print 'Custom.ApplicationPackage Table' +/* Check for existence of custom.ApplicationPackage table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'custom' + And t.name = 'ApplicationPackage') + begin + /* Create custom.ApplicationPackage table + if it does not exist */ + print ' - Creating custom.ApplicationPackage Table' + Create Table custom.ApplicationPackage + ( + ApplicationPackageID int identity(1,1) + Constraint PK_custom_ApplicationPackage Primary Key Clustered + ,ApplicationID int Not Null + Constraint FK_custom_ApplicationPackage_Application + Foreign Key References custom.Application(ApplicationID) + ,PakcageID int Not Null + Constraint FK_custom_ApplicationPackage_Package + Foreign Key References custom.Package(PackageID) + ,ExecutionOrder int Not Null + Constraint DF_custom_ApplicationPackage_ExecutionOrder + Default(10) + ,ApplicationPackageEnabled bit Not Null + Constraint DF_custom_ApplicationPackage_ApplicationPackageEnabled + Default(1) + ) + print ' - Custom.ApplicationPackage Table created' + end +Else + /* If the custom.ApplicationPackage table exists, tell us */ + print ' - Custom.ApplicationPackage Table already exists.' +print '' + +/* Build custom.GetApplicationPackages stored procedure */ +print 'Custom.GetApplicationPackages' +/* Check for existence of custom.GetApplicationPackages stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'GetApplicationPackages') + begin + /* If custom.GetApplicationPackages stored procedure + exists, drop it */ + print ' - Dropping custom.GetApplicationPackages Stored Procedure' + Drop Procedure custom.GetApplicationPackages + print ' - custom.GetApplicationPackages Stored Procedure dropped' + end +print ' - Creating custom.GetApplicationPackages Stored Procedure' +go + +/* + + Procedure: custom.GetApplicationPackages + Author: Andy Leonard + Parameter(s): ApplicationName [nvarchar(256)] + - contains the name of the SSIS Application + for which to retrieve SSIS Packages. + Description: Executes against the custom.ApplicationPackages + table joined to the custom.Application + and custom.Packages tables. Returns a + list of enabled Packages related to the + Application ordered by ExecutionOrder. + Example: exec custom.GetApplicationPackages 'TestSSISApp' + +*/ +Create Procedure custom.GetApplicationPackages + @ApplicationName nvarchar(256) +As + begin + + Set NoCount On + + Select p.FolderName, p.ProjectName, p.PackageName, ap.ExecutionOrder + From custom.ApplicationPackage ap + Join custom.Package p + On p.PackageID = ap.PackageID + Join custom.Application a + On a.ApplicationID = ap.ApplicationID + Where a.ApplicationName = @ApplicationName + And ap.ApplicationPackageEnabled = 1 + Order By ap.ExecutionOrder + end +go +print ' - Custom.GetApplicationPackages Stored Procedure created.' +print '' + +/* Build custom.AddApplication stored procedure */ +print 'Custom.AddApplication' +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'AddApplication') + begin + /* If custom.AddApplication stored procedure + exists, drop it */ + print ' - Dropping custom.AddApplication Stored Procedure' + Drop Procedure custom.AddApplication + print ' - custom.AddApplication Stored Procedure dropped' + end +print ' - Creating custom.AddApplication Stored Procedure' +go + +/* + + Procedure: custom.AddApplication + Author: Andy Leonard + Parameter(s): ApplicationName [nvarchar(256)] + - contains the name of the SSIS Application + to add to the Framework database. + ApplicationDescription [nvarchar(512)] + - contains a description of the SSIS Application. + Description: Stores an SSIS Application. + Example: exec custom.AddApplication 'TestSSISApp', 'A test SSIS Application.' + +*/ +Create Procedure custom.AddApplication + @ApplicationName nvarchar(256) + ,@ApplicationDescription nvarchar(512) = NULL +As + begin + + Set NoCount On + + Insert Into custom.Application + (ApplicationName + ,ApplicationDescription) + Output inserted.ApplicationID + Values + (@ApplicationName + ,@ApplicationDescription) + + end +go +print ' - Custom.AddApplication Stored Procedure created.' +print '' + +/* Build custom.AddPackage stored procedure */ +print 'Custom.AddPackage' +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'AddPackage') + begin + /* If custom.AddPackage stored procedure + exists, drop it */ + print ' - Dropping custom.AddPackage Stored Procedure' + Drop Procedure custom.AddPackage + print ' - custom.AddPackage Stored Procedure dropped' + end +print ' - Creating custom.AddPackage Stored Procedure' +go + +/* + + Procedure: custom.AddPackage + Author: Andy Leonard + Parameter(s): FolderName [nvarchar(128)] + - contains the name of the SSISDB Catalog + folder containing the SSIS Package. + ProjectName [nvarchar(128)] + - contains the name of the SSISDB Catalog + project containing the SSIS Package. + PackageName [nvarchar(128)] + - contains the name of the SSISDB Catalog + SSIS Package. + PackageDescription [nvarchar(512)] + - contains a description of the SSIS Package. + Description: Stores an SSIS Package. + Example: exec custom.AddPackage 'Chapter2', 'Chapter 2' + , 'Chapter2.dtsx', 'A test SSIS Package.' + +*/ +Create Procedure custom.AddPackage + @FolderName nvarchar(128) + ,@ProjectName nvarchar(128) + ,@PackageName nvarchar(256) + ,@PackageDescription nvarchar(512) = NULL +As + begin + + Set NoCount On + + Insert Into custom.Package + (FolderName + ,ProjectName + ,PackageName + ,PackageDescription) + Output inserted.PackageID + Values + (@FolderName + ,@ProjectName + ,@PackageName + ,@PackageDescription) + + end +go +print ' - Custom.AddPackage Stored Procedure created.' +print '' + +/* Build custom.AddApplicationPackage stored procedure */ +print 'Custom.AddApplicationPackage' +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'custom' + And p.name = 'AddApplicationPackage') + begin + /* If custom.AddApplicationPackage stored procedure + exists, drop it */ + print ' - Dropping custom.AddApplicationPackage Stored Procedure' + Drop Procedure custom.AddApplicationPackage + print ' - custom.AddApplicationPackage Stored Procedure dropped' + end +print ' - Creating custom.AddApplicationPackage Stored Procedure' +go + +/* + + Procedure: custom.AddApplicationPackage + Author: Andy Leonard + Parameter(s): ApplicationID [int] + - contains the ID returned from the execution + of custom.AddApplication. + PackageID [int] + - contains the ID returned from the execution + of custom.AddPackage. + ExecutionOrder [int] + - contains the order the package will execute + within the SSIS Application. + ApplicationPackageEnabled [bit] + - 1 == Enabled and will run as part of the SSIS Application. + 0 == Disabled and will not run as part of the SSIS Application. + Description: Links an SSIS Package to an SSIS Application + Example: exec custom.AddApplicationPackage 1, 1, 10, 1 + +*/ +Create Procedure custom.AddApplicationPackage + @ApplicationID int + ,@PackageID int + ,@ExecutionOrder int = 10 + ,@ApplicationPackageEnabled bit = 1 +As + begin + + Set NoCount On + + Insert Into custom.ApplicationPackage + (ApplicationID + ,PackageID + ,ExecutionOrder + ,ApplicationPackageEnabled) + Values + (@ApplicationID + ,@PackageID + ,@ExecutionOrder + ,@ApplicationPackageEnabled) + + end +go +print ' - Custom.AddApplicationPackage Stored Procedure created.' +print '' diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-6.sql b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-6.sql new file mode 100644 index 0000000..8b8512b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch02/sql/Listing2-6.sql @@ -0,0 +1,93 @@ +Use SSISDB +Go + +Set NoCount On + +Declare @ApplicationName nvarchar(256) +Declare @ApplicationDescription nvarchar(512) +Declare @ApplicationID int +Declare @FolderName nvarchar(256) +Declare @ProjectName nvarchar(256) +Declare @PackageName nvarchar(256) +Declare @PackageDescription nvarchar(512) +Declare @PackageID int +Declare @ExecutionOrder int +Declare @ApplicationPackageEnabled bit +Declare @ApplicationTbl table(ApplicationID int) +Declare @PackageTbl table(PackageID int) + +begin tran + + -- Build Application -- +Select @ApplicationName = 'TestSSISApp' + ,@ApplicationDescription = 'A test SSIS application' + +Insert Into @ApplicationTbl +Exec custom.AddApplication + @ApplicationName + ,@ApplicationDescription + + Select @ApplicationID = ApplicationID + From @ApplicationTbl + + + -- Build Package -- +Select @FolderName = 'Chapter2' + ,@ProjectName = 'Chapter 2' + ,@PackageName = 'Chapter2.dtsx' + ,@PackageDescription = 'A test SSIS package' + +Insert Into @PackageTbl +Exec custom.AddPackage + @FolderName + ,@ProjectName + ,@PackageName + ,@PackageDescription + + Select @PackageID = PackageID + From @PackageTbl + + + -- Build ApplicationPackage -- +Select @ExecutionOrder = 10 + ,@ApplicationPackageEnabled = 1 + + Exec custom.AddApplicationPackage + @ApplicationID + ,@PackageID + ,@ExecutionOrder + ,@ApplicationPackageEnabled + + Delete @PackageTbl + + + -- Build Package -- +Select @FolderName = 'Chapter2' + ,@ProjectName = 'Chapter 2' + ,@PackageName = 'Chapter2.dtsx' + ,@PackageDescription = 'Another test SSIS package' + +Insert Into @PackageTbl +Exec custom.AddPackage + @FolderName + ,@ProjectName + ,@PackageName + ,@PackageDescription + + Select @PackageID = PackageID + From @PackageTbl + + + -- Build ApplicationPackage -- +Select @ExecutionOrder = 20 + ,@ApplicationPackageEnabled = 1 + + Exec custom.AddApplicationPackage + @ApplicationID + ,@PackageID + ,@ExecutionOrder + ,@ApplicationPackageEnabled + + Delete @PackageTbl + +Commit diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch03/Chap3.cs b/SQL Server 2012 Integration Services Design Patterns/Ch03/Chap3.cs new file mode 100644 index 0000000..ed630b0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch03/Chap3.cs @@ -0,0 +1,62 @@ +/* + SSIS Design Patterns + Chapter 3: Scripting Design Patterns + + Note: All code samples included in this chapter are just snippets, and are not fully functional + on their own. +*/ + +// Listing 3-1. Create the ADO.NET database connection +ConnectionManager connMgr = Dts.Connections["ADONET_PROD"]; +System.Data.SqlClient.SqlConnection theConnection + = (System.Data.SqlClient.SqlConnection)connMgr.AcquireConnection(Dts.Transaction); + + + + +// Listing 3-2. Create the OLEDB database connection +ConnectionManager cm = Dts.Connections["OLEDB_PROD"]; +Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManagerDatabaseParameters100 cmparams + = cm.InnerObject AS Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManagerDatabaseParameters100; +System.Data.OleDb.OleDbConnection conn = (System.Data.OleDb.OleDbConnection)cmParams.GetConnectionForSchema(); + + + +// Listing 3-3. Create the OLEDB database connection +SqlConnection conn = Connections.ADONET_PROD.AcquireConnection(null); + + + +// Listing 3-4. Script Task Variable Syntax +public void main() +{ + // Get the current RunID + int runID = int.Parse(Dts.Variables["RunID"].Value.ToString()); + + // Set the ClientID + Dts.Variables["ClientID"].Value = ETL.GetClientID(runID); + + Dts.TaskResult = (int)ScriptResults.Success; +} + + +// Listing 3-5. Script Component Variable Syntax +public override void Input0_ProcessInputRow(Input0Buffer Row) +{ + // Push the SSIS variable ClientName to the value in the current row + Row.ClientName = Variables.ClientName; +} + + + +// Listing 3-6. Manually lock a variable +// Programmatically lock the variable we need +Variable vars = null; +Dts.VariableDispenser.LockOneForRead("RunID", ref vars); + +// Assign to script variable +runID = int.Parse(vars["RunID"].Value.ToString()); + +// Unlock the variable object +vars.Unlock(); + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns.sln b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns.sln new file mode 100644 index 0000000..1fc4158 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "DesignPatterns", "DesignPatterns\DesignPatterns.dtproj", "{3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.ActiveCfg = Development + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Ch04_SQLServerSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Ch04_SQLServerSource.dtsx new file mode 100644 index 0000000..ece1ca0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Ch04_SQLServerSource.dtsx @@ -0,0 +1,595 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + "EXEC GetCustomerData '" + (DT_STR, 29, 1252)@[System::ContainerStartTime] + "'" + + + + + + EXEC GetCustomerData '6/13/2012 1:57:15 PM' + 30 + true + + 2 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + true + + 0 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.database b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.database new file mode 100644 index 0000000..f116f72 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.database @@ -0,0 +1,13 @@ + + DesignPatterns + DesignPatterns + 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/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj new file mode 100644 index 0000000..a4ff3f8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj @@ -0,0 +1,433 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAAA9hHTxrDwtWPWQqjtoDx3c6uzJzmUkmGLDsCyAz2+/yQAAAAAOgAAAAAIAACAAAACUG7ihzn8ksrYa0+UEuZ2vzjUCumkLIO568qPz97OIR5AAAAASwOZAMQ73up16/4LP5QUZl3IskXtvWnGiEKEicivWu7P9oKEqR374vZrPeEMvrD3xw2BJ/n/WFAh8OBHxxYLRfMaFNCczZrNICzu2la0SaDLj3MdvJerQxHJ8/O4C204JU1jGQx4INxYWAROwjp1io/I8uPTG2E9R/bNZiTejdnmSpRbv05UDYmDNh0QfCXBAAAAAYn9BJv33s4t+vp65ZMjuM7ZwV/YQIbMcBbnzjP8IBq1YTO6lwMCot3Mmz4bgFNPvT1lV0p0S6PmJpTOv16BHIQ== + 1 + + + + + + + + + + + {AABC1CB8-134F-4CC4-A55A-A50662A0E35E} + Ch04_SQLServerSource + 1 + 0 + 17 + + + {7E5140E7-939A-441F-93E7-294E23445FB6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True;Application Name=SSIS-Ch04_SQLServerSource-{05557967-093E-42C7-8066-FD23F089DE2B}localhost.AdventureWorks2008R21; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + server=localhost;Driver={SQL Server Native Client 11.0};database=AdventureWorks;trusted_connection=yes; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj.user new file mode 100644 index 0000000..69fb4ec --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/DesignPatterns.dtproj.user @@ -0,0 +1,23 @@ + + + + + Development + + SQLServer2012 + /SSISDB/DesignPatterns/DesignPatterns + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/DesignPatterns.ispac new file mode 100644 index 0000000..312fdc5 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/Development/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/Development/DesignPatterns.ispac new file mode 100644 index 0000000..d86fb67 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/bin/Development/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/BuildLog.xml new file mode 100644 index 0000000..ab97522 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/BuildLog.xml @@ -0,0 +1,45 @@ + + + + DesignPatterns + 2012-06-25T19:36:41.2078776Z + EncryptSensitiveWithUserKey + + + + Ch04_SQLServerSource.dtsx + 2012-06-18T09:25:50.4593857Z + EncryptSensitiveWithUserKey + + + Ch06_DB2Source.dtsx + 2012-06-25T17:02:23.5032626Z + EncryptSensitiveWithUserKey + + + ChildPackage.dtsx + 2012-06-25T19:58:43.0512394Z + EncryptSensitiveWithUserKey + + + ChildPackage2.dtsx + 2011-12-17T23:33:56Z + EncryptSensitiveWithUserKey + + + Ch15_Reporting.dtsx + 2012-06-13T15:52:51.2225871Z + EncryptSensitiveWithUserKey + + + Ch16_DynamicChild.dtsx + 2012-06-25T20:01:42.8636152Z + EncryptSensitiveWithUserKey + + + Ch16_ParentChild.dtsx + 2012-06-25T20:04:20.6143222Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx new file mode 100644 index 0000000..8d6ca0a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx @@ -0,0 +1,595 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + "EXEC GetCustomerData '" + (DT_STR, 29, 1252)@[System::ContainerStartTime] + "'" + + + + + + EXEC GetCustomerData '6/25/2012 12:22:40 PM' + 30 + true + + 2 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + true + + 0 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx new file mode 100644 index 0000000..c11632f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx @@ -0,0 +1,200 @@ + + + 6 + + + + + + + + + + + + + + + dev + + + “select col1, col2 from ” + @environment + “.tab1” + + + + + + + + + + + 0 + + + select * from table where col = ? + User::query + 1252 + false + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch15_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch15_Reporting.dtsx new file mode 100644 index 0000000..ee7c661 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch15_Reporting.dtsx @@ -0,0 +1,897 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Person].[Address] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx new file mode 100644 index 0000000..02910a2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx @@ -0,0 +1,206 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx new file mode 100644 index 0000000..7b30947 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx @@ -0,0 +1,672 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx new file mode 100644 index 0000000..d78c2f2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx @@ -0,0 +1,196 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx new file mode 100644 index 0000000..32eb9e2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx @@ -0,0 +1,654 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + <PrecedenceConstraint xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:EvalOp>Constraint</dwd:EvalOp></PrecedenceConstraint> + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch19_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch19_Reporting.dtsx new file mode 100644 index 0000000..b71ada4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Ch19_Reporting.dtsx @@ -0,0 +1,315 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage.dtsx new file mode 100644 index 0000000..d72c0dd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage.dtsx @@ -0,0 +1,627 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojOnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + {7D71675E-396A-4F28-AA69-9671D797C828} + st_7c0cdb9ce385443ab3758f73c6a96fa3 + st_7c0cdb9ce385443ab3758f73c6a96fa3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the parent package is: " & _ + Dts.Variables("$Package::ParentPackageName").Value.ToString) + Dts.Variables("User::ChildFileName").Value = "SalesFile.txt" + Dts.TaskResult = ScriptResults.Success + End Sub + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAO/C6E8AAAAAAAAAAOAAAiELAQgAABwAAAAIAAAAAAAAnjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAFA6AABLAAAAAEAAABgEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAApBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAABgEAAAAQAAAAAYAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAJAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACA +OgAAAAAAAEgAAAACAAUA1CMAAHwWAAABAAAAAAAAABkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAF0AAAAAAAAAcjMAAHACbyUAAApvJgAACnJ7AABwbycAAApvKAAACm8VAAAKKCkAAAoW +FCgqAAAKJgJvJQAACm8mAAAKcrMAAHBvJwAACnLbAABwbysAAAoCbyUAAAoWbywAAAoqtAAAAM7K +774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVy +c2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkz +NGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQ +QURQtAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANAHAAAjfgAAPAgA +AJAJAAAjU3RyaW5ncwAAAADMEQAA+AAAACNVUwDEEgAAEAAAACNHVUlEAAAA1BIAAKgDAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADkAAAAC +AAAANgAAAA4AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABhCQEA +AAAAAAoAYAE2AQoAlAF2AQYApAGdAQoA/AE2AQYAegKdAQoA/ALSAgYAMgMhAwYAXwNKAw4AxgOx +AxIARQQcBAYAZgSdAQ4AmQSDBA4AsgSDBA4A3wTHBAYACQX2BAoASAUhBQoAYAUTAA4AlQV4BQYA +ygWqBQYA6AWdAQYADAadAQoAJQYTAAYAaQZKBgYAjwZ9BgYAtgalBgYAyQb2BBIA5gYcBBYAPwcf +BxYAVwcfBwYAaQedAQoAdwcTAAoAgwcTAAoAkAcTAAYAsgedARIAyAccBAYAKQiqBQYASQiqBQYA +gQhnCAYAmgh9BgYAtwhKBgYAxQh9BgYA4Ah9BgYA+wh9BgYAFAl9BgYALQl9BgYASgl9BgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZQA3AAkAAQACAAABEABwADcADQABAAMABQEAAHoA +AAANAAUACAAFAQAAiAAAAA0ABQAPAAAAAACjAK8ADQAGABEAAAEQAOcA8gAlAAgAFQABAAAAHQHy +ACkACgAYAAIBAAAoAQAALQAKABoAMQC/ASAAMQDoAS0AMQAKAjoAMQAvAkcAIQALA5AAEQBCA50A +EQBrA6EAEQDeA78AEQDmA8MABgZrBNkAVoBzBNwAVoB7BNwAUCAAAAAABhhwARMAAQBYIAAAAAAG +GHABEwABAGAgAAAAABEYqwEXAAEAjCAAAAAAEwiyARsAAQCkIAAAAAATCNgBKAABALwgAAAAABMI +AQI1AAEA1CAAAAAAEwgfAkIAAQDsIAAAAABGAmUCYwABAAghAAAAAEYCbgJoAAIAHCEAAAAAgwB/ +AmwAAgA0IQAAAABGAocCcQACAEghAAAAABEAkAJ4AAIAZCEAAAAAAQCuAoAAAwCAIQAAAAAGGHAB +EwAEAIghAAAAAAMIwgKLAAQAvCEAAAAABhhwARMABADQIQAAAAADGHABEwAEANghAAAAABYIdwOl +AAQAFCIAAAAAFgiLA6oABAAoIgAAAAAWCJcDrwAEADAiAAAAABEYqwEXAAUARCIAAAAABhhwARMA +BQBMIgAAAAAWCPMDxgAFAKgiAAAAAAYYcAETAAUAsCIAAAAABgBhBBMABQAAAAEAbAIAAAEApQIA +AAEApQIAAAEAowMJAHABEwBhAHAB6gBxAHAB+QARAHABEwB5AHABEwAkAHABEwAsAHABEwA0AHAB +EwA8AHABEwAkAMICiwAsAMICiwA0AMICiwA8AMICiwCBAHABEwCJAHABEwCRAHABSAGZANkFkwEZ +AGUCYwAZAG4CaAApAPoFoAEZAIcCcQCpABYGsAEZAHABEwCxAHABwAFEAAsDkABMAPMDiwBMAEAG +PQJMAHABEwC5AHABTAIpAJgGVwI5AHABXAJJAHABEwDJAL4GeALJAMQGeALRAHABEwBRAHABEwBR +APgGggLZAEkHhwLhAGAHjALpAPMDkgLxAHAHlgL5AJwHnALpAEAGpwLZAKMHrAIRAXABTAIZAXAB +EwAhAXABrAIpAXABEwAxAXABSAE5AXABSAFBAXABSAFJAXABSAFRAXABSAFZAXABSAFhAXABSAFp +AXABSAFxAXABSAEIACwA4AAIADAA5QApAIMAbgEuALsBUQIuAMsBdQMuALMBdQMuAIMBugIuAKsB +XgMuAMMBUQIuAHsBsQIuAIsB2QIuAJMBIQMuAJsBLgMuAOsAUQIuAGsBWAMuAKMBUQJAACsA5QBA +ABMA8ABDABsA/wBDABMA8ABJAIMAWgFjABsA/wBjABMA8ABpAIMATQGAACsA5QCDAHMA5QCDAHsA +5QCDABsA/wCJAIMAfwGgACsA5QCjABMA8ACjAMMAyAHAACsA5QDDAOsAUQLDABMA8ADJABMAbwLg +ACsA5QDpABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsBUQIjAXMB5QBAASsA +5QBAARMA8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAisA5QAA +AhMA8AA0ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CBAABAAYABQAHAAYACAAIAAAAlAFPAAAA +TQJUAAAA/AFZAAAAWQJeAAAAFQOYAAAAMgO1AAAAqQO6AAAAowPLAAIABAADAAIABQAFAAIABgAH +AAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIABgBHwEmAS0BKgIxAgSA +AAABAAAAAAAAAAAAAAAAAPIAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAA +AAAABAAAAAAAAAAAAAAAAQCdAQAAAAALAAAAAAAAAAAAAADQAP0DAAAAAAsAAAAAAAAAAAAAANAA +AAcAAAAAAAAAAAEAAADqBwAABQAEAAYABAAKAAkAAAAQAAwAowIAABAAGQCjAgAAAAAbAKMCLQC2 +AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxp +Y2F0aW9uAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5NeQBNeUNv +bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx +AE15UmVzb3VyY2VzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5N +eS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83YzBjZGI5Y2UzODU0NDNhYjM3NThmNzNjNmE5NmZh +My52YnByb2oAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B +cHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFs +QmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIA +bV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3Zp +ZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1f +TXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFs +cwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18A +VABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQA +R2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0 +ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5h +Z2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3Vy +YXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1Zh +bHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVyLkR0 +cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVudW0A +dmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz +YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl +cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl +bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy +ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50 +TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy +U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA +R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0 +aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t +VmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkA +U3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0 +dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFu +YWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRfVmFy +aWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNnQm94 +UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRBdHRy +aWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0 +M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9u +UmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVt +LlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxl +VmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRl +AEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3Nl +bWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJs +eVRpdGxlQXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +ai5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAA +R1QAaABlACAAbgBhAG0AZQAgAG8AZgAgAHQAaABlACAAcABhAHIAZQBuAHQAIABwAGEAYwBrAGEA +ZwBlACAAaQBzADoAIAAANyQAUABhAGMAawBhAGcAZQA6ADoAUABhAHIAZQBuAHQAUABhAGMAawBh +AGcAZQBOAGEAbQBlAAAnVQBzAGUAcgA6ADoAQwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAG1MA +YQBsAGUAcwBGAGkAbABlAC4AdAB4AHQAAACcewXrhPsLSIkYZg19gFTGAAi3elxWGTTgiQiwP19/ +EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH +BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH +MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId +BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGCAMGESgEAAAAAAQBAAAABSABARE1CAEA +AQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAES +EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEODAEAB015LlVzZXIAABMBAA5NeS5BcHBs +aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMH +AQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIu +U2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5j +ZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwAT +ABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQHARIg +BCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEcEYCFHAQgAQEcBCABAQgIAQAIAAAAAAAe +AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12 +NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAA +ACkBACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5 +cmlnaHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZi +cHJvagAAAAAAeDoAAAAAAAAAAAAAjjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6AAAAAAAA +AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAMADAAAAAAAAAAAAAMADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQgAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAD8AgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAIAALwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANwBjADAA +YwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAz +AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcA +aAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQAxAAAAiAAvAAEATwByAGkAZwBp +AG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQA +NAAzAGEAYgAzADcANQA4AGYANwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAC4AZABs +AGwAAAAAAHgAKwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBjADAAYwBkAGIA +OQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAzAC4AdgBi +AHAAcgBvAGoAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A +MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw +AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAACgOgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage2.dtsx new file mode 100644 index 0000000..89aca52 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/ChildPackage2.dtsx @@ -0,0 +1,20 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/DesignPatterns.dtproj new file mode 100644 index 0000000..0d31105 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/DesignPatterns.dtproj @@ -0,0 +1,907 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAAA8DUfU/PhrxbD1//FFKaOIp5nOVyaHQ4ld5aTVW3un6AAAAAAOgAAAAAIAACAAAADgG3WXwUGuRZH+nxApnukwZWsd53+an0JbjetczzuDbpAAAADKUDmOkbtBEMuEaw29hMAcPwXJ4TcCDIPEaE8ozYBhkgTKkmSrm+ak8Xmr3ObkKR7jqXwWeza3UBg04gm+HARtU4XIaeqsUIla8TNzoLM9wDFBBekvssfaKFacRKMixR3CsK8P9vaY9RPkhosiE8VlCrr4qHiShEO1Vvo1KhYDHQ9p6L+QppVwk++3A3t2ZfFAAAAAj3wyM5oWQzsDdqKInwKrZw2HN0hUJCOX3EL6kSLTIlbosDnYkVqIagt5e15D3XjT7FmD50JVv6qHR1YcgxYALg== + 1 + + + + + + + + + + + + + + + + + {AABC1CB8-134F-4CC4-A55A-A50662A0E35E} + Ch04_SQLServerSource + 1 + 0 + 17 + + + {7E5140E7-939A-441F-93E7-294E23445FB6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True;Application Name=SSIS-Ch04_SQLServerSource-{05557967-093E-42C7-8066-FD23F089DE2B}localhost.AdventureWorks2008R21; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + server=localhost;Driver={SQL Server Native Client 11.0};database=AdventureWorks;trusted_connection=yes; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FA04F5FC-0E36-46BD-9F71-339AD3F2B3DF} + Ch06_DB2Source + 1 + 0 + 13 + + + {C304BC0C-EA52-4495-BDF7-CAACB2D8D3F7} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Provider=DB2OLEDB;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=JMMCONSULTING;Provider=DB2OLEDB;Integrated Security=SSPI;Derive Parameters=True; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + JMMCONSULTING + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3A931EA6-C434-4506-A3BB-10DEE6C06F96} + ChildPackage + 1 + 0 + 11 + + + {7ABCA381-247E-4172-9332-A8B365F300C7} + 6 + + + 1 + + + + + {548BA81E-8103-4773-AD3A-C1251C30ACD6} + + + + + 0 + 0 + 0 + 18 + + + + + + + {39B8105F-2B83-4ABB-AF46-01F8854D91EE} + ChildPackage2 + 1 + 0 + 1 + + + {E3299FB5-7647-41B9-8206-E5A4900B4B92} + 5 + + + 1 + + + + + + {8A428D78-C6F9-49BC-9AB2-6ECD0758CEFF} + Ch15_Reporting + 1 + 0 + 5 + + + {23763094-00F8-4ECD-9B72-2788F30634EC} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {786ECD14-B8E3-4175-B96E-71A921B79199} + Ch16_DynamicChild + 1 + 0 + 16 + + + {066CF370-BEB1-490E-BE69-D4D49872882B} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=DesignPatterns;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + DesignPatterns + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3075A053-CF1E-4729-8FFC-EB0B595F1F74} + Ch16_ParentChild + 1 + 0 + 19 + + + {2B5CAEB7-9BB6-4A5B-9B9D-B50F052775C7} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch04/DesignPatterns/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/CheckConfidence.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/CheckConfidence.dtsx new file mode 100644 index 0000000..ebb1481 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/CheckConfidence.dtsx @@ -0,0 +1,3008 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + 0.80000000000000004 + + + + + + + + + + + + + + + + + + + + + (DT_R8)#{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} >= @[User::MinimumThreshold] + (DT_R8)CountryRegionCode_Confidence >= @[User::MinimumThreshold] + 0 + + + + + + true + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + CheckConfidence + false + true + true + false + false + {FC33A174-FB12-4A3D-97EC-A2E33BA75050} + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[IpAddressLocator]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Final Destination] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Needs attention] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[DimGeography] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" || #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Correct" || [Record Status] == "Corrected" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" || #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "New" || [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 2 + + + + + + true + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing.dtsx new file mode 100644 index 0000000..73825e3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing.dtsx @@ -0,0 +1,1879 @@ + + + 6 + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" + [Record Status] == "New" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing1 + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_multiple.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_multiple.dtsx new file mode 100644 index 0000000..40279d0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_multiple.dtsx @@ -0,0 +1,1801 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Script Component.Outputs[Locations].Columns[id]} % 2 == 1 + id % 2 == 1 + 0 + + + + + + true + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_split.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_split.dtsx new file mode 100644 index 0000000..f4967f6 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Cleansing_split.dtsx @@ -0,0 +1,1801 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Script Component.Outputs[Locations].Columns[id]} % 2 == 1 + id % 2 == 1 + 0 + + + + + + true + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.database b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.database new file mode 100644 index 0000000..ded55b5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.database @@ -0,0 +1,13 @@ + + DataQualityProject + DataQualityProject + 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/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj new file mode 100644 index 0000000..d5eff1b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj @@ -0,0 +1,755 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DataQualityProject.database + DataQualityProject.database + + + + + + + + {e563f8d0-62e4-4a8a-95a4-056f71823b29} + DataQualityProject + 1 + 0 + 0 + + + 2011-10-31T16:07:22.8105178-04:00 + REDMOND\mmasson + MMASSON6 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAq0CiND0f+kyP+ehebGajUAAAAAACAAAAAAADZgAAwAAAABAAAABkT4ULoN//6DGlbp1Y4U51AAAAAASAAACgAAAAEAAAABJnvGj4/Hk5A4gmmS2r4/CIAAAAGs81elBYuGdu1N66dHvrIeCtHRdPvyfLiQOeE9rtBMiy2EeFMJQQkw5rtxJuVxVASUX+ZEmvZxtCcflyCznmrsz173VL/NwVh6jCPSzILxxvbXzqLxWPC7SJ7FBtx/uHQZA1qflKVtAX9xmr308ZcrNjw1BGHk0nF6cHd7qXS8WBamU5W8k0bhQAAACjQO2iO1Ytyv+Tc6X+WcOUU3GFqg== + 1 + + + + + + + + + + + + + + {F7F4AD53-9BD5-43CD-B00F-EFD058192E7F} + HandleAllStatus + 1 + 0 + 13 + + + {EBC2F494-2AB5-4089-91D2-F62D8E229EF1} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW2012;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW2012 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + {B8146981-9207-473B-BE61-3554B6D710DC} + Cleansing + 1 + 0 + 30 + + + {6548B7F2-BC5A-445D-BAB4-22B645742A53} + 6 + + + 1 + + + + + {F836173A-C00C-4D1C-961C-5F7D16507D0E} + + + Number of rows to output at the source. + 0 + 0 + 0 + 5000 + 9 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + {97CFC650-973D-494B-8432-BD1A8DA07108} + Cleansing_multiple + 1 + 0 + 32 + + + {8F9393FC-3357-4F23-ADDD-EEC25D5D713C} + 6 + + + 1 + + + + + {C097FDF8-B219-4DD2-921A-66F407F369CA} + + + Number of rows to output at the source. + 0 + 0 + 0 + 5000 + 9 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + {5A686793-DDB0-49D1-850D-96907DA2ABEC} + CheckConfidence + 1 + 0 + 24 + + + {52767CE7-7CA0-4A4F-8BAA-C3E76FC2FBC9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW2012;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW2012 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=.;Initial Catalog=PowerHour;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + PowerHour + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + . + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-11-02T14:37:00.950559Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj.user new file mode 100644 index 0000000..79f1ec3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.dtproj.user @@ -0,0 +1,21 @@ + + + + + Development + + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-11-02T14:37:01.067559Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.sln b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.sln new file mode 100644 index 0000000..5f20378 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/DataQualityProject.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "DataQualityProject", "DataQualityProject.dtproj", "{49CA3563-996E-425F-8A8E-2ABD88D70675}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {49CA3563-996E-425F-8A8E-2ABD88D70675}.Development|Default.ActiveCfg = Development + {49CA3563-996E-425F-8A8E-2ABD88D70675}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/HandleAllStatus.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/HandleAllStatus.dtsx new file mode 100644 index 0000000..3593ca9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/HandleAllStatus.dtsx @@ -0,0 +1,1525 @@ + + + 6 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" + [Record Status] == "New" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + HandleAllStatus + false + true + true + false + false + {3ED5288A-29D6-4450-B2AD-6AAFD5353967} + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Source]} + US - Places + 1005 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Source]} + US - State (2-letter leading) + 1007 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Source]} + US - State + 1000 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Source]} + Country/Region + 1001 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[IpAddressLocator]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 0 + [dbo].[DimGeography] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/LastCleansed.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/LastCleansed.dtsx new file mode 100644 index 0000000..1c497c3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/LastCleansed.dtsx @@ -0,0 +1,3008 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + 0.80000000000000004 + + + + + + + + + + + + + + + + + + + + + (DT_R8)#{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} >= @[User::MinimumThreshold] + (DT_R8)CountryRegionCode_Confidence >= @[User::MinimumThreshold] + 0 + + + + + + true + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + CheckConfidence + false + true + true + false + false + {DB1EFAA7-7454-4281-9EFF-852DA7AFD486} + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Source]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[IpAddressLocator]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Final Destination] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Needs attention] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[DimGeography] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" || #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Correct" || [Record Status] == "Corrected" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" || #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "New" || [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 2 + + + + + + true + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[City_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[StateProvinceName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Output]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Status]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[EnglishCountryRegionName_Source]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[IpAddressLocator]} + + + + + #{Package\Data Flow Task\Union All 1.Outputs[Union All Output 1].Columns[Record Status]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/bin/Development/DataQualityProject.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/bin/Development/DataQualityProject.ispac new file mode 100644 index 0000000..0055af8 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/bin/Development/DataQualityProject.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/BuildLog.xml new file mode 100644 index 0000000..38ed9c3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/BuildLog.xml @@ -0,0 +1,25 @@ + + + + DataQualityProject + 2012-04-15T19:11:39.4930439Z + EncryptSensitiveWithUserKey + + + + HandleAllStatus.dtsx + 2012-04-15T19:11:52.8687579Z + EncryptSensitiveWithUserKey + + + Cleansing_split.dtsx + 2011-11-02T21:07:03.8335165Z + EncryptSensitiveWithUserKey + + + Cleansing.dtsx + 2012-04-15T19:08:21.1834026Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing.dtsx new file mode 100644 index 0000000..99139fe --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing.dtsx @@ -0,0 +1,1879 @@ + + + 6 + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" + [Record Status] == "New" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing1 + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing1.dtsx new file mode 100644 index 0000000..03d395d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing1.dtsx @@ -0,0 +1,1883 @@ + + + 6 + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Unknown" + [Record Status] == "Unknown" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing1 + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing_split.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing_split.dtsx new file mode 100644 index 0000000..0a58dac --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Cleansing_split.dtsx @@ -0,0 +1,1801 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + 5000 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Script Component.Outputs[Locations].Columns[id]} % 2 == 1 + id % 2 == 1 + 0 + + + + + + true + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Cleansing_split + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[id]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing 1.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.id = i + 1; + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + msBuild + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + e36b64129cebcbaa04a0c7bbb8caab0f + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/DataQualityProject.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/DataQualityProject.dtproj new file mode 100644 index 0000000..2283cb4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/DataQualityProject.dtproj @@ -0,0 +1,530 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DataQualityProject.database + DataQualityProject.database + + + + + + + + {e563f8d0-62e4-4a8a-95a4-056f71823b29} + DataQualityProject + 1 + 0 + 0 + + + 2011-10-31T16:07:22.8105178-04:00 + REDMOND\mmasson + MMASSON6 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAq0CiND0f+kyP+ehebGajUAAAAAACAAAAAAADZgAAwAAAABAAAADXQjq/47QvxwGumfUBwGH+AAAAAASAAACgAAAAEAAAAOTVAOj+Aw2LhDCOZojFYIqIAAAAtJgbk/8+JJLr+IFtb4hBlwRaXGtHmqBym3w8sPp+XChAagoGnpW3zjzhW+abjYirUyRmGIaaXLUGo9EZlxYQIgzkVMkfFdpD2ibkyx5m2C+40ucKipRA1kQCYpiBi4Wb+am2cuW+LwBBBfZyxC+kLTuZTFxa5sGcutNRyhvkcizA3l8oHVFeWxQAAAD1+nIG4YZfdQUQVJollRs4Xn8oMw== + 1 + + + + + + + + + + + + + {F7F4AD53-9BD5-43CD-B00F-EFD058192E7F} + HandleAllStatus + 1 + 0 + 14 + + + {E5050D24-7AA0-4B3E-AC94-7AC0BD981468} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW2012;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW2012 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + {FAEDC291-B18C-4C92-892A-A34BAAF14362} + Cleansing_split + 1 + 0 + 31 + + + {E4FB2DDF-4EF0-4C99-8CD9-03C7BC077A0A} + 6 + + + 1 + + + + + {C097FDF8-B219-4DD2-921A-66F407F369CA} + + + Number of rows to output at the source. + 0 + 0 + 0 + 5000 + 9 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + {B8146981-9207-473B-BE61-3554B6D710DC} + Cleansing + 1 + 0 + 30 + + + {6548B7F2-BC5A-445D-BAB4-22B645742A53} + 6 + + + 1 + + + + + {F836173A-C00C-4D1C-961C-5F7D16507D0E} + + + Number of rows to output at the source. + 0 + 0 + 0 + 5000 + 9 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-11-02T14:37:00.950559Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus 1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus 1.dtsx new file mode 100644 index 0000000..c16c76f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus 1.dtsx @@ -0,0 +1,1828 @@ + + + 6 + + + + + + + + + + + + + + + + + 500 + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Unknown" + [Record Status] == "Unknown" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + HandleAllStatus + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountyRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionName_Confidence]} + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + +/// This is the class to which to add your code. Do not change the name, attributes, or parent +/// of this class. +/// +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + readonly string[] CountryCode = { "FR", "GB", "US", "DE", "CA" }; + readonly string[] CountryName = { "France", "United Kingdom", "United States", "Germany", "Canada" }; + Random random; + + public override void PreExecute() + { + // Use static seed so we get the same values each time + random = new Random(1); + } + + public override void CreateNewOutputRows() + { + int maxRows = Variables.NumberOfRows; + for (int i = 0; i < maxRows; i++) + { + // Add new row + LocationsBuffer.AddRow(); + + // Generate our next index + int index = random.Next(CountryCode.Length); + + LocationsBuffer.CountyRegionCode = GetCountryCode(index); + LocationsBuffer.CountryRegionName = GetCountryName(index); + } + } + + public string GetCountryCode(int index) + { + return CountryCode[index]; + } + + public string GetCountryName(int index) + { + string country = CountryName[index]; + StringBuilder sb = new StringBuilder(country); + + // modify 0 to 2 characters in the string + int numCharsToChange = random.Next(3); + for (int i = 0; i < numCharsToChange; i++) + { + char c = (char)((short) 'a' + random.Next(26)); + int pos = random.Next(country.Length); + sb[pos] = c; + } + + return sb.ToString(); + } + +} +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {6B6BA514-43FF-4EF2-85E4-8022C600BDD9} + Library + Properties + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + v4.0 + 512 + + + 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_SC110 + + + + +]]> + + + + + + + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Settings.get_Default():SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Sett" + + "ings")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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; + } + } + } +} +]]> + + + + + + SC_74e9d75a988f40cfabf16d60232e36ea + SC_74e9d75a988f40cfabf16d60232e36ea + {6E43C762-91BD-4AD4-BD5A-09D3E1324602} + msBuild + + + + + + + + + + + + +]]> + + + + + + + + + + + +]]> + + + +// 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_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="SC_74e9d75a988f40cfabf16d60232e36ea.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace SC_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea.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_74e9d75a988f40cfabf16d60232e36ea + CSharp + $Package::NumberOfRows + + + + + f3eae0f129e823821b98232153cfbcc4 + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus.dtsx new file mode 100644 index 0000000..968a143 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/HandleAllStatus.dtsx @@ -0,0 +1,1525 @@ + + + 6 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "New" + [Record Status] == "New" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + HandleAllStatus + false + true + true + false + false + {3ED5288A-29D6-4450-B2AD-6AAFD5353967} + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Source]} + US - Places + 1005 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Source]} + US - State (2-letter leading) + 1007 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Source]} + US - State + 1000 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Source]} + Country/Region + 1001 + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Confidence]} + false + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SalesTerritoryKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[IpAddressLocator]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 0 + [dbo].[DimGeography] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Package.dtsx new file mode 100644 index 0000000..e3a00dd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Package.dtsx @@ -0,0 +1,1482 @@ + + + 6 + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Correct" + [Record Status] == "Correct" + 0 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Invalid" + [Record Status] == "Invalid" + 1 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Corrected" + [Record Status] == "Corrected" + 2 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Unknown" + [Record Status] == "Unknown" + 3 + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[Record Status]} == "Auto suggest" + [Record Status] == "Auto suggest" + 4 + + + + + + true + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 1000000 + Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent, Microsoft.Ssdqs.Component.DataCorrection, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + Package + false + true + true + false + false + + + + + + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[GeographyKey]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Source]} + US - Places + 1005 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[City_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Source]} + US - State (2-letter leading) + 1007 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Source]} + US - State + 1000 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[StateProvinceName_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Source]} + Country/Region (three-letter leading) + 1003 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[CountryRegionCode_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Source]} + Country/Region + 1001 + false + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Output]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Status]} + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[EnglishCountryRegionName_Confidence]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SpanishCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[FrenchCountryRegionName]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[PostalCode]} + + + + + #{Package\Data Flow Task\DQS Cleansing.Outputs[DQS Cleansing Output].Columns[SalesTerritoryKey]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + 0 + [dbo].[DimGeography] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + User::RowCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch05/DataQualityProject/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns.sln b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns.sln new file mode 100644 index 0000000..1fc4158 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "DesignPatterns", "DesignPatterns\DesignPatterns.dtproj", "{3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.ActiveCfg = Development + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Ch06_DB2Source.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Ch06_DB2Source.dtsx new file mode 100644 index 0000000..ff31386 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Ch06_DB2Source.dtsx @@ -0,0 +1,200 @@ + + + 6 + + + + + + + + + + + + + + + dev + + + “select col1, col2 from ” + @environment + “.tab1” + + + + + + + + + + + 0 + + + select * from table where col = ? + User::query + 1252 + false + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.database b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.database new file mode 100644 index 0000000..f116f72 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.database @@ -0,0 +1,13 @@ + + DesignPatterns + DesignPatterns + 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/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj new file mode 100644 index 0000000..a4a786d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj @@ -0,0 +1,255 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAABfvPO4HU89qXhwl8/WT4IKScHxWxWJhg3AgmevGhbOHgAAAAAOgAAAAAIAACAAAAAGaSU8RIYuss6UWBxShUxGkwKF2XPhwaqttNDUKuUXbJAAAADskln84ARak1BiEfdJViRAkSy7nozEuCOcv3QMbE1r1DGChyk0VI/TTn/ffk2Tb0jDj9tcpqj+4JpJkzOIMFt4xUMMZ9ZnrD7NC5wqbECKq52RpedvfXGY0StN/z3smoLjt2Gzu7dnp42/EtOK/BRdB1o9Y9pV3v7G0WtPasXnjd6HiXVs1mODDoZYdt9/Tj9AAAAAmrROkt795xlf4FGL7lua25aX0Rcz+cLqI72jGh+aVp/IlfCLjPvx/CNmRYU6FqjqmbbSf6B32mjTq3eyj7PL2w== + 1 + + + + + + + + + + + {FA04F5FC-0E36-46BD-9F71-339AD3F2B3DF} + Ch06_DB2Source + 1 + 0 + 13 + + + {C304BC0C-EA52-4495-BDF7-CAACB2D8D3F7} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Provider=DB2OLEDB;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=JMMCONSULTING;Provider=DB2OLEDB;Integrated Security=SSPI;Derive Parameters=True; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + JMMCONSULTING + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj.user new file mode 100644 index 0000000..69fb4ec --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/DesignPatterns.dtproj.user @@ -0,0 +1,23 @@ + + + + + Development + + SQLServer2012 + /SSISDB/DesignPatterns/DesignPatterns + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/DesignPatterns.ispac new file mode 100644 index 0000000..312fdc5 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/Development/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/Development/DesignPatterns.ispac new file mode 100644 index 0000000..d86fb67 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/bin/Development/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/BuildLog.xml new file mode 100644 index 0000000..ab97522 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/BuildLog.xml @@ -0,0 +1,45 @@ + + + + DesignPatterns + 2012-06-25T19:36:41.2078776Z + EncryptSensitiveWithUserKey + + + + Ch04_SQLServerSource.dtsx + 2012-06-18T09:25:50.4593857Z + EncryptSensitiveWithUserKey + + + Ch06_DB2Source.dtsx + 2012-06-25T17:02:23.5032626Z + EncryptSensitiveWithUserKey + + + ChildPackage.dtsx + 2012-06-25T19:58:43.0512394Z + EncryptSensitiveWithUserKey + + + ChildPackage2.dtsx + 2011-12-17T23:33:56Z + EncryptSensitiveWithUserKey + + + Ch15_Reporting.dtsx + 2012-06-13T15:52:51.2225871Z + EncryptSensitiveWithUserKey + + + Ch16_DynamicChild.dtsx + 2012-06-25T20:01:42.8636152Z + EncryptSensitiveWithUserKey + + + Ch16_ParentChild.dtsx + 2012-06-25T20:04:20.6143222Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx new file mode 100644 index 0000000..8d6ca0a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx @@ -0,0 +1,595 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + "EXEC GetCustomerData '" + (DT_STR, 29, 1252)@[System::ContainerStartTime] + "'" + + + + + + EXEC GetCustomerData '6/25/2012 12:22:40 PM' + 30 + true + + 2 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + true + + 0 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx new file mode 100644 index 0000000..c11632f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx @@ -0,0 +1,200 @@ + + + 6 + + + + + + + + + + + + + + + dev + + + “select col1, col2 from ” + @environment + “.tab1” + + + + + + + + + + + 0 + + + select * from table where col = ? + User::query + 1252 + false + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch15_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch15_Reporting.dtsx new file mode 100644 index 0000000..ee7c661 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch15_Reporting.dtsx @@ -0,0 +1,897 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Person].[Address] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx new file mode 100644 index 0000000..02910a2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx @@ -0,0 +1,206 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx new file mode 100644 index 0000000..7b30947 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx @@ -0,0 +1,672 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx new file mode 100644 index 0000000..d78c2f2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx @@ -0,0 +1,196 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx new file mode 100644 index 0000000..32eb9e2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx @@ -0,0 +1,654 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + <PrecedenceConstraint xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:EvalOp>Constraint</dwd:EvalOp></PrecedenceConstraint> + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch19_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch19_Reporting.dtsx new file mode 100644 index 0000000..b71ada4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Ch19_Reporting.dtsx @@ -0,0 +1,315 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage.dtsx new file mode 100644 index 0000000..d72c0dd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage.dtsx @@ -0,0 +1,627 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojOnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + {7D71675E-396A-4F28-AA69-9671D797C828} + st_7c0cdb9ce385443ab3758f73c6a96fa3 + st_7c0cdb9ce385443ab3758f73c6a96fa3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the parent package is: " & _ + Dts.Variables("$Package::ParentPackageName").Value.ToString) + Dts.Variables("User::ChildFileName").Value = "SalesFile.txt" + Dts.TaskResult = ScriptResults.Success + End Sub + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAO/C6E8AAAAAAAAAAOAAAiELAQgAABwAAAAIAAAAAAAAnjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAFA6AABLAAAAAEAAABgEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAApBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAABgEAAAAQAAAAAYAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAJAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACA +OgAAAAAAAEgAAAACAAUA1CMAAHwWAAABAAAAAAAAABkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAF0AAAAAAAAAcjMAAHACbyUAAApvJgAACnJ7AABwbycAAApvKAAACm8VAAAKKCkAAAoW +FCgqAAAKJgJvJQAACm8mAAAKcrMAAHBvJwAACnLbAABwbysAAAoCbyUAAAoWbywAAAoqtAAAAM7K +774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVy +c2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkz +NGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQ +QURQtAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANAHAAAjfgAAPAgA +AJAJAAAjU3RyaW5ncwAAAADMEQAA+AAAACNVUwDEEgAAEAAAACNHVUlEAAAA1BIAAKgDAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADkAAAAC +AAAANgAAAA4AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABhCQEA +AAAAAAoAYAE2AQoAlAF2AQYApAGdAQoA/AE2AQYAegKdAQoA/ALSAgYAMgMhAwYAXwNKAw4AxgOx +AxIARQQcBAYAZgSdAQ4AmQSDBA4AsgSDBA4A3wTHBAYACQX2BAoASAUhBQoAYAUTAA4AlQV4BQYA +ygWqBQYA6AWdAQYADAadAQoAJQYTAAYAaQZKBgYAjwZ9BgYAtgalBgYAyQb2BBIA5gYcBBYAPwcf +BxYAVwcfBwYAaQedAQoAdwcTAAoAgwcTAAoAkAcTAAYAsgedARIAyAccBAYAKQiqBQYASQiqBQYA +gQhnCAYAmgh9BgYAtwhKBgYAxQh9BgYA4Ah9BgYA+wh9BgYAFAl9BgYALQl9BgYASgl9BgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZQA3AAkAAQACAAABEABwADcADQABAAMABQEAAHoA +AAANAAUACAAFAQAAiAAAAA0ABQAPAAAAAACjAK8ADQAGABEAAAEQAOcA8gAlAAgAFQABAAAAHQHy +ACkACgAYAAIBAAAoAQAALQAKABoAMQC/ASAAMQDoAS0AMQAKAjoAMQAvAkcAIQALA5AAEQBCA50A +EQBrA6EAEQDeA78AEQDmA8MABgZrBNkAVoBzBNwAVoB7BNwAUCAAAAAABhhwARMAAQBYIAAAAAAG +GHABEwABAGAgAAAAABEYqwEXAAEAjCAAAAAAEwiyARsAAQCkIAAAAAATCNgBKAABALwgAAAAABMI +AQI1AAEA1CAAAAAAEwgfAkIAAQDsIAAAAABGAmUCYwABAAghAAAAAEYCbgJoAAIAHCEAAAAAgwB/ +AmwAAgA0IQAAAABGAocCcQACAEghAAAAABEAkAJ4AAIAZCEAAAAAAQCuAoAAAwCAIQAAAAAGGHAB +EwAEAIghAAAAAAMIwgKLAAQAvCEAAAAABhhwARMABADQIQAAAAADGHABEwAEANghAAAAABYIdwOl +AAQAFCIAAAAAFgiLA6oABAAoIgAAAAAWCJcDrwAEADAiAAAAABEYqwEXAAUARCIAAAAABhhwARMA +BQBMIgAAAAAWCPMDxgAFAKgiAAAAAAYYcAETAAUAsCIAAAAABgBhBBMABQAAAAEAbAIAAAEApQIA +AAEApQIAAAEAowMJAHABEwBhAHAB6gBxAHAB+QARAHABEwB5AHABEwAkAHABEwAsAHABEwA0AHAB +EwA8AHABEwAkAMICiwAsAMICiwA0AMICiwA8AMICiwCBAHABEwCJAHABEwCRAHABSAGZANkFkwEZ +AGUCYwAZAG4CaAApAPoFoAEZAIcCcQCpABYGsAEZAHABEwCxAHABwAFEAAsDkABMAPMDiwBMAEAG +PQJMAHABEwC5AHABTAIpAJgGVwI5AHABXAJJAHABEwDJAL4GeALJAMQGeALRAHABEwBRAHABEwBR +APgGggLZAEkHhwLhAGAHjALpAPMDkgLxAHAHlgL5AJwHnALpAEAGpwLZAKMHrAIRAXABTAIZAXAB +EwAhAXABrAIpAXABEwAxAXABSAE5AXABSAFBAXABSAFJAXABSAFRAXABSAFZAXABSAFhAXABSAFp +AXABSAFxAXABSAEIACwA4AAIADAA5QApAIMAbgEuALsBUQIuAMsBdQMuALMBdQMuAIMBugIuAKsB +XgMuAMMBUQIuAHsBsQIuAIsB2QIuAJMBIQMuAJsBLgMuAOsAUQIuAGsBWAMuAKMBUQJAACsA5QBA +ABMA8ABDABsA/wBDABMA8ABJAIMAWgFjABsA/wBjABMA8ABpAIMATQGAACsA5QCDAHMA5QCDAHsA +5QCDABsA/wCJAIMAfwGgACsA5QCjABMA8ACjAMMAyAHAACsA5QDDAOsAUQLDABMA8ADJABMAbwLg +ACsA5QDpABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsBUQIjAXMB5QBAASsA +5QBAARMA8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAisA5QAA +AhMA8AA0ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CBAABAAYABQAHAAYACAAIAAAAlAFPAAAA +TQJUAAAA/AFZAAAAWQJeAAAAFQOYAAAAMgO1AAAAqQO6AAAAowPLAAIABAADAAIABQAFAAIABgAH +AAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIABgBHwEmAS0BKgIxAgSA +AAABAAAAAAAAAAAAAAAAAPIAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAA +AAAABAAAAAAAAAAAAAAAAQCdAQAAAAALAAAAAAAAAAAAAADQAP0DAAAAAAsAAAAAAAAAAAAAANAA +AAcAAAAAAAAAAAEAAADqBwAABQAEAAYABAAKAAkAAAAQAAwAowIAABAAGQCjAgAAAAAbAKMCLQC2 +AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxp +Y2F0aW9uAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5NeQBNeUNv +bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx +AE15UmVzb3VyY2VzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5N +eS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83YzBjZGI5Y2UzODU0NDNhYjM3NThmNzNjNmE5NmZh +My52YnByb2oAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B +cHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFs +QmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIA +bV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3Zp +ZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1f +TXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFs +cwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18A +VABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQA +R2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0 +ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5h +Z2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3Vy +YXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1Zh +bHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVyLkR0 +cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVudW0A +dmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz +YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl +cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl +bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy +ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50 +TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy +U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA +R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0 +aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t +VmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkA +U3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0 +dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFu +YWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRfVmFy +aWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNnQm94 +UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRBdHRy +aWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0 +M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9u +UmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVt +LlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxl +VmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRl +AEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3Nl +bWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJs +eVRpdGxlQXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +ai5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAA +R1QAaABlACAAbgBhAG0AZQAgAG8AZgAgAHQAaABlACAAcABhAHIAZQBuAHQAIABwAGEAYwBrAGEA +ZwBlACAAaQBzADoAIAAANyQAUABhAGMAawBhAGcAZQA6ADoAUABhAHIAZQBuAHQAUABhAGMAawBh +AGcAZQBOAGEAbQBlAAAnVQBzAGUAcgA6ADoAQwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAG1MA +YQBsAGUAcwBGAGkAbABlAC4AdAB4AHQAAACcewXrhPsLSIkYZg19gFTGAAi3elxWGTTgiQiwP19/ +EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH +BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH +MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId +BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGCAMGESgEAAAAAAQBAAAABSABARE1CAEA +AQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAES +EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEODAEAB015LlVzZXIAABMBAA5NeS5BcHBs +aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMH +AQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIu +U2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5j +ZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwAT +ABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQHARIg +BCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEcEYCFHAQgAQEcBCABAQgIAQAIAAAAAAAe +AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12 +NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAA +ACkBACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5 +cmlnaHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZi +cHJvagAAAAAAeDoAAAAAAAAAAAAAjjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6AAAAAAAA +AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAMADAAAAAAAAAAAAAMADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQgAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAD8AgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAIAALwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANwBjADAA +YwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAz +AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcA +aAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQAxAAAAiAAvAAEATwByAGkAZwBp +AG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQA +NAAzAGEAYgAzADcANQA4AGYANwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAC4AZABs +AGwAAAAAAHgAKwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBjADAAYwBkAGIA +OQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAzAC4AdgBi +AHAAcgBvAGoAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A +MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw +AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAACgOgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage2.dtsx new file mode 100644 index 0000000..89aca52 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/ChildPackage2.dtsx @@ -0,0 +1,20 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/DesignPatterns.dtproj new file mode 100644 index 0000000..0d31105 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/DesignPatterns.dtproj @@ -0,0 +1,907 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAAA8DUfU/PhrxbD1//FFKaOIp5nOVyaHQ4ld5aTVW3un6AAAAAAOgAAAAAIAACAAAADgG3WXwUGuRZH+nxApnukwZWsd53+an0JbjetczzuDbpAAAADKUDmOkbtBEMuEaw29hMAcPwXJ4TcCDIPEaE8ozYBhkgTKkmSrm+ak8Xmr3ObkKR7jqXwWeza3UBg04gm+HARtU4XIaeqsUIla8TNzoLM9wDFBBekvssfaKFacRKMixR3CsK8P9vaY9RPkhosiE8VlCrr4qHiShEO1Vvo1KhYDHQ9p6L+QppVwk++3A3t2ZfFAAAAAj3wyM5oWQzsDdqKInwKrZw2HN0hUJCOX3EL6kSLTIlbosDnYkVqIagt5e15D3XjT7FmD50JVv6qHR1YcgxYALg== + 1 + + + + + + + + + + + + + + + + + {AABC1CB8-134F-4CC4-A55A-A50662A0E35E} + Ch04_SQLServerSource + 1 + 0 + 17 + + + {7E5140E7-939A-441F-93E7-294E23445FB6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True;Application Name=SSIS-Ch04_SQLServerSource-{05557967-093E-42C7-8066-FD23F089DE2B}localhost.AdventureWorks2008R21; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + server=localhost;Driver={SQL Server Native Client 11.0};database=AdventureWorks;trusted_connection=yes; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FA04F5FC-0E36-46BD-9F71-339AD3F2B3DF} + Ch06_DB2Source + 1 + 0 + 13 + + + {C304BC0C-EA52-4495-BDF7-CAACB2D8D3F7} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Provider=DB2OLEDB;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=JMMCONSULTING;Provider=DB2OLEDB;Integrated Security=SSPI;Derive Parameters=True; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + JMMCONSULTING + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3A931EA6-C434-4506-A3BB-10DEE6C06F96} + ChildPackage + 1 + 0 + 11 + + + {7ABCA381-247E-4172-9332-A8B365F300C7} + 6 + + + 1 + + + + + {548BA81E-8103-4773-AD3A-C1251C30ACD6} + + + + + 0 + 0 + 0 + 18 + + + + + + + {39B8105F-2B83-4ABB-AF46-01F8854D91EE} + ChildPackage2 + 1 + 0 + 1 + + + {E3299FB5-7647-41B9-8206-E5A4900B4B92} + 5 + + + 1 + + + + + + {8A428D78-C6F9-49BC-9AB2-6ECD0758CEFF} + Ch15_Reporting + 1 + 0 + 5 + + + {23763094-00F8-4ECD-9B72-2788F30634EC} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {786ECD14-B8E3-4175-B96E-71A921B79199} + Ch16_DynamicChild + 1 + 0 + 16 + + + {066CF370-BEB1-490E-BE69-D4D49872882B} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=DesignPatterns;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + DesignPatterns + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3075A053-CF1E-4729-8FFC-EB0B595F1F74} + Ch16_ParentChild + 1 + 0 + 19 + + + {2B5CAEB7-9BB6-4A5B-9B9D-B50F052775C7} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch06/DesignPatterns/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/ArchiveFile.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/ArchiveFile.dtsx new file mode 100644 index 0000000..c8fecca --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/ArchiveFile.dtsx @@ -0,0 +1,1227 @@ + + + 6 + + + C:\Users\A. Ray Leonard\Documents\Archive + + + -1 + + + _yyyyMMdd_hhmmss + + + -1 + + + -1 + + + -1 + + + C:\Users\A. Ray Leonard\Documents\randomdata.csv + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {D5525159-2E07-4FAC-B71B-8EA2A178E4A0} + Library + My Project + ST_79e422d7d5944d3490009c991de2fd67 + ST_79e422d7d5944d3490009c991de2fd67 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_79e422d7d5944d3490009c991de2fd67 + ST_79e422d7d5944d3490009c991de2fd67 + {8C037519-341E-43AA-A21E-42F1926DA600} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + ' 1: declare bDebug + Dim bDebug As Boolean + + Public Sub Main() + + ' 2: detect Debug mode... + bDebug = Convert.ToBoolean(Dts.Variables("Debug").Value) + + ' 3:variables declaration... + Dim sPackageName As String = Dts.Variables("System::PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("System::TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sDateStampFormat As String = _ +Dts.Variables("$Package::DateStampFormat").Value.ToString + Dim sSourceFilePath As String = _ +Dts.Variables("$Package::SourceFilePath").Value.ToString + Dim bExceptionOnFileNotFound As Boolean = _ +Convert.ToBoolean(Dts.Variables("ExceptionOnFileNotFound").Value) + Dim bCopyOnly As Boolean = Convert.ToBoolean(Dts.Variables("CopyOnly").Value) + Dim sFileName As String + Dim sBaseFileName As String + Dim sExtension As String + Dim sSourceFileDirectory As String + Dim sWorkingCopyFileName As String + Dim sFormattedFileName As String + Dim sMsg As String + + ' 4: work with the file + Try + ' 4a: parse the source file directory... + sSourceFileDirectory = Strings.Trim(Strings.Left(sSourceFilePath, _ + Strings.InStrRev(sSourceFilePath, "\"))) + ' 4b: parse the filename... + sFileName = Strings.Trim(Strings.Right(sSourceFilePath, _ +Strings.Len(sSourceFilePath) - Strings.InStrRev(sSourceFilePath, "\"))) + ' 4c: parse the filepath minus the extension... + sBaseFileName = Strings.Left(sSourceFilePath, Strings.InStrRev(sSourceFilePath, _ + ".") - 1) + ' 4d: build working copy file name... + sWorkingCopyFileName = sSourceFileDirectory & "_" & sFileName + + ' 4e: parse extension... + sExtension = Strings.Trim(Strings.Right(sSourceFilePath, _ +Strings.Len(sSourceFilePath) - Strings.InStrRev(sSourceFilePath, "."))) + ' 4f: apply formatting to filename and set the output value of FormattedFileName + sFormattedFileName = sBaseFileName & _ +Strings.Format(Date.Now, sDateStampFormat) & "." & sExtension + ' 4g: assign external varables... + Dts.Variables("User::FormattedFileName").Value = sFormattedFileName + Dts.Variables("SourceFileDirectory").Value = sSourceFileDirectory + Dts.Variables("WorkingCopyFileName").Value = sWorkingCopyFileName + + ' 4h: check for valid file... + If File.Exists(sSourceFilePath) Then + ' 4i: set OkToProceed flag... + Dts.Variables("OkToProceed").Value = True + Else + ' 4j: if raising an exception on file not found... + If bExceptionOnFileNotFound Then + ' 4k: fire an error... + Dts.Events.FireError(1001, sSubComponent, "cannot locate file " & _ +sSourceFilePath, "", 0) + End If + ' 4l: set OkToProceed flag... + Dts.Variables("OkToProceed").Value = False + sMsg = "file " & sSourceFilePath & " not found." + If bDebug Then MsgBox(sMsg, MsgBoxStyle.OkOnly, sSubComponent) + ' 4m: log file not found, exception or not... + Dts.Events.FireInformation(2001, sSubComponent, sMsg, "", 0, True) + End If + + Catch ex As Exception + ' 4n: log error message... + Dts.Events.FireError(1001, sSubComponent, ex.Message, "", 0) + End Try + + ' 5: log information + sMsg = "DateStampFormat: " & sDateStampFormat & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "ExceptionOnFileNotFound: " & bExceptionOnFileNotFound.ToString & _ +ControlChars.CrLf & ControlChars.CrLf & _ + "CopyOnly: " & bCopyOnly.ToString & ControlChars.CrLf & ControlChars.CrLf & _ + "OkToProceed: " & Dts.Variables("OkToProceed").Value.ToString & _ +ControlChars.CrLf & ControlChars.CrLf & _ + "SourceFileDirectory: " & sSourceFileDirectory & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "FileName: " & sFileName & ControlChars.CrLf & ControlChars.CrLf & _ + "Extension: " & sExtension & ControlChars.CrLf & ControlChars.CrLf & _ + "BaseFileName: " & sBaseFileName & ControlChars.CrLf & ControlChars.CrLf & _ + "FormattedFileName: " & sFormattedFileName & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "WorkingCopyFileName: " & sWorkingCopyFileName & ControlChars.CrLf & _ +ControlChars.CrLf + + If bDebug Then MsgBox(sMsg, MsgBoxStyle.OkOnly, sSubComponent) + Dts.Events.FireInformation(2001, sSubComponent, sMsg, "", 0, True) + ' 6: output + Dts.TaskResult = ScriptResults.Success + + End Sub + + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAN9Ra08AAAAAAAAAAOAAAiELAQgAACQAAAAGAAAAAAAAXkMA +AAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAhDAABTAAAAAGAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAZCMAAAAgAAAAJAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAYAAAAAQAAAAmAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAIAAAAACAAAAKgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABA +QwAAAAAAAEgAAAACAAUAuCcAAFAbAAABAAAAAAAAAAAnAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqGzAHACcEAAAPAAARAgJvJQAACm8mAAAKcjMAAHBvJwAACm8oAAAKKBEAAAooKQAACn0KAAAE +Am8lAAAKbyYAAApyPwAAcG8nAAAKbygAAApvFQAAChMIAm8lAAAKbyYAAApyZwAAcG8nAAAKbygA +AApvFQAAChMMEQhyiQAAcBEMKCoAAAoTCwJvJQAACm8mAAAKco0AAHBvJwAACm8oAAAKbxUAAAoN +Am8lAAAKbyYAAApywQAAcG8nAAAKbygAAApvFQAAChMKAm8lAAAKbyYAAApy8wAAcG8nAAAKbygA +AAooEQAACigpAAAKCwJvJQAACm8mAAAKciMBAHBvJwAACm8oAAAKKBEAAAooKQAACgoRChEKcjUB +AHAVFigrAAAKKCwAAAooLQAAChMJEQoRCiguAAAKEQpyNQEAcBUWKCsAAAraKC8AAAooLQAAChMF +EQoRCnKJAABwFRYoKwAAChfaKCwAAAoMEQlyOQEAcBEFKCoAAAoTDREKEQooLgAAChEKcokAAHAV +FigrAAAK2igvAAAKKC0AAAoTBAgoMAAACowjAAABCSgxAAAKcokAAHARBCgyAAAKEwYCbyUAAApv +JgAACnI9AQBwbycAAAoRBm8zAAAKAm8lAAAKbyYAAApybQEAcG8nAAAKEQlvMwAACgJvJQAACm8m +AAAKcpUBAHBvJwAAChENbzMAAAoRCig0AAAKLCUCbyUAAApvJgAACnK9AQBwbycAAAoXjCUAAAFv +MwAACt3NAAAABywqAm8lAAAKbzUAAAog6QMAABELctUBAHARCig2AAAKcv0BAHAWbzcAAAomAm8l +AAAKbyYAAApyvQEAcG8nAAAKFowlAAABbzMAAApy/wEAcBEKcgsCAHAoKgAAChMHAnsKAAAELAsR +BxYRCyg4AAAKJgJvJQAACm81AAAKINEHAAARCxEHcv0BAHAWFxMPEg9vOQAACt40JSg6AAAKEw4C +byUAAApvNQAACiDpAwAAEQsRDm87AAAKcv0BAHAWbzcAAAomKDwAAAreAB8VjSAAAAETEBEQFnIj +AgBwohEQFwmiERAYckcCAHCiERAZEgEoPQAACqIREBpygwIAcKIREBsSACg9AAAKohEQHHKhAgBw +ohEQHQJvJQAACm8mAAAKcr0BAHBvJwAACm8oAAAKbxUAAAqiERAecsUCAHCiERAfCREJohEQHwpy ++QIAcKIREB8LEQWiERAfDHIXAwBwohEQHw0RBKIREB8OcjcDAHCiERAfDwiiERAfEHJdAwBwohEQ +HxERBqIREB8Sco0DAHCiERAfExENohEQHxRywQMAcKIRECg+AAAKEwcCewoAAAQsCxEHFhELKDgA +AAomAm8lAAAKbzUAAAog0QcAABELEQdy/QEAcBYXEw8SD285AAAKAm8lAAAKFm8/AAAKKgBBHAAA +AAAAAAcBAADGAQAAzQIAADQAAAAbAAABtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2Vz +LlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRy +YWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50 +aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4w +LjMwMzE5AAAAAAUAbAAAAIAIAAAjfgAA7AgAAGwKAAAjU3RyaW5ncwAAAABYEwAAzAMAACNVUwAk +FwAAEAAAACNHVUlEAAAANBcAABwEAAAjQmxvYgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEA +AAA3AAAACgAAAA0AAAAZAAAABAAAAEwAAAACAAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAA +AAUAAAABAAAAAwAAAAMAAAACAAAAAABECgEAAAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYA +ZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOcAxIAMAQHBAYAWASIAQ4AiwR1BA4ApAR1BA4A0QS5 +BAYA+wToBAoAOgUTBQoAUgUTAA4AhwVqBQYAvAWcBQYA2gWIAQYA/gWIAQoAFwYTAAYAWwY8BgYA +gQZvBgYAqAaXBgYAuwboBAYA2AaIARIA4gYHBBYAOwcbBxYAUwcbBwYAZQeIAQYAdweIAQoAhQcT +AAoAjQcTAAYAuAeIAQYA2gfQBwYA5geIARIA7gcHBAoAFwgTAAoAIwgTAAoAMAgTAAoAUwgTBQYA +nAiIARIAsggHBAYADAmcBQYALAmcBQYAZAlKCQYAfQlvBgYAmgk8BgYAqAlvBgYAwwlvBgYA3glv +BgYA9wlvBgYAEApvBgYALQpvBgAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkA +AQACAAABEABpADcADQABAAMABQEAAHMAAAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAG +ABEAAAEQANkA5AAlAAgAFQABAAAACAHkACkACgAYAAIBAAATAQAALQALABoAMQCqASAAMQDTAS0A +MQD1AToAMQAaAkcAIQD2ApAAEQAtA50AEQBWA6EAEQDJA78AEQDRA8MAAQBMBNkABgZdBNwAVoBl +BN8AVoBtBN8AUCAAAAAABhhbARMAAQBYIAAAAAAGGFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAA +EwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABG +AlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBqAmwAAgA0IQAAAABGAnICcQACAEghAAAAABEA +ewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsBEwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhb +ARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOlAAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIID +rwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMABQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwET +AAUAsCIAAAAABgBTBBMABQAAAAEAVwIAAAEAkAIAAAEAkAIAAAEAjgMJAFsBEwBhAFsB7QBxAFsB +/AARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsBEwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8 +AK0CiwCBAFsBEwCJAFsBEwCRAFsBSwGZAMsFlgEZAFACYwAZAFkCaAApAOwFowEZAHICcQCpAAgG +swEZAFsBEwCxAFsBwwFEAPYCkABMAN4DiwBMADIGQAJMAFsBEwC5AFsBTwIpAIoGWgI5AFsBXwJJ +AFsBEwDJALAGewLJALYGewLRAFsBEwBRAFsBEwBRAPQGhQLhAEUHigLpAFwHjwLxAN4DlQL5AG0H +mQIBAX4HngIJAZsHpQIJAaQHrwIJAakHtQIJAa4HugIJAbIHrwIZAcEHvwIJAckHxQIBAX4HywLx +ADIG0wIhAd8H2ALhAAII3QIBAX4H4wIxAQ0I6QI5ATwI8gIxAUMI/QJRAV8ICAPZAG8IcQBRAXsI +FwApAXICcQABAX4HDgPhAI0IFANZAVsBTwJhAVsBEwBpAVsBFANxAVsBEwB5AVsBSwGBAVsBSwGJ +AVsBSwGRAVsBSwGZAVsBSwGhAVsBSwGpAVsBSwGxAVsBSwG5AVsBSwEIADAA4wAIADQA6AApAIMA +hQEuAFsCVAIuAFMCVAIuACsCnwMuAEsC8wMuAGMC8wMuABMCLwMuABsCOAMuACMCVwMuADMCrAMu +AOsAVAIuAAMC1gMuADsCVAIuAEMC3ANAACsA6ABAABMA8wBDABMA8wBDABsAAgFJAIMAXQFjABMA +8wBjABsAAgFpAIMAUAGAACsA6ACDAHsA6ACDAHMA6ACDABsAAgGJAIMAcQGgACsA6ACjAMMAywGj +ABMA8wDAACsA6ADDABMA8wDDAOsAVALJABMAcgLgACsA6ADpABMAcgIAARMA8wAAASsA6AAJARsB +6AAgARMA8wAgASsA6AAjAQMCVAIjAQsC6ABAARMA8wBAASsA6ABgASsA6ABgARMA8wCAASsA6ACg +ASsA6ADAARMA8wDAASsA6ADgASsA6AAAAisA6AAAAhMA8wA3ATwBQQFGAZsBnwGqAa8BvgG+AUYC +ZgJtAoACGQMEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQAAADnAVkAAABEAl4AAAAAA5gAAAAd +A7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgATAA8A +AQAUAA8AAgAXABEAdQB1AIgAGwEiASkBMAEtAjQCBIAAAAEAAAAAAAAAAAAAAAAA5AAAAAQAAAAA +AAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAEAAAAAAAAAAAAAAABAIgBAAAAAAsA +AAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0AD8BgAAAAAAAAAAAQAAANQIAAAFAAQABgAE +AAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALkBLQA7AgAAAAAAPE1vZHVsZT4AbXNjb3Js +aWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU1RfNzllNDIyZDdkNTk0NGQz +NDkwMDA5Yzk5MWRlMmZkNjcuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBU +aHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNlcwBTVF83OWU0MjJkN2Q1OTQ0ZDM0 +OTAwMDljOTkxZGUyZmQ2Ny5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83OWU0MjJkN2Q1OTQ0 +ZDM0OTAwMDljOTkxZGUyZmQ2NwBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZp +c3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdl +dF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBw +T2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2Vi +U2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2Vy +dmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9f +SW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNl +AE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAx +AG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBf +cmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9S +ZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0 +ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09i +amVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5T +cWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNl +AGJEZWJ1ZwBNYWluAEVudW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVu +dE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0 +ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9z +dGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGls +ZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0 +ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3Rl +bS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUA +UnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3Rh +bmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5J +bnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3Nl +bWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVi +dWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBFeGNlcHRpb24AU2NyaXB0T2JqZWN0TW9kZWwAZ2V0 +X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5E +dHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBDb252 +ZXJ0AFRvQm9vbGVhbgBTdHJpbmcAQ29uY2F0AFN0cmluZ3MAQ29tcGFyZU1ldGhvZABJblN0clJl +dgBMZWZ0AFRyaW0ATGVuAFJpZ2h0AERhdGVUaW1lAGdldF9Ob3cARm9ybWF0AFN5c3RlbS5JTwBG +aWxlAEV4aXN0cwBCb29sZWFuAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBGaXJlRXJy +b3IASW50ZXJhY3Rpb24ATXNnQm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABGaXJlSW5mb3Jt +YXRpb24AUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAGdldF9NZXNzYWdlAENsZWFyUHJvamVj +dEVycm9yAHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFz +a0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfNzllNDIyZDdkNTk0NGQzNDkwMDA5Yzk5MWRlMmZkNjcu +UmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRp +bWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0 +RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJp +YnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0 +ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2Vt +Ymx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF83OWU0MjJk +N2Q1OTQ0ZDM0OTAwMDljOTkxZGUyZmQ2Ny5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAu +AE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAC0QAZQBiAHUAZwAAJ1MAeQBzAHQAZQBtADoAOgBQAGEA +YwBrAGEAZwBlAE4AYQBtAGUAACFTAHkAcwB0AGUAbQA6ADoAVABhAHMAawBOAGEAbQBlAAADLgAA +MyQAUABhAGMAawBhAGcAZQA6ADoARABhAHQAZQBTAHQAYQBtAHAARgBvAHIAbQBhAHQAADEkAFAA +YQBjAGsAYQBnAGUAOgA6AFMAbwB1AHIAYwBlAEYAaQBsAGUAUABhAHQAaAAAL0UAeABjAGUAcAB0 +AGkAbwBuAE8AbgBGAGkAbABlAE4AbwB0AEYAbwB1AG4AZAAAEUMAbwBwAHkATwBuAGwAeQAAA1wA +AANfAAAvVQBzAGUAcgA6ADoARgBvAHIAbQBhAHQAdABlAGQARgBpAGwAZQBOAGEAbQBlAAAnUwBv +AHUAcgBjAGUARgBpAGwAZQBEAGkAcgBlAGMAdABvAHIAeQAAJ1cAbwByAGsAaQBuAGcAQwBvAHAA +eQBGAGkAbABlAE4AYQBtAGUAABdPAGsAVABvAFAAcgBvAGMAZQBlAGQAACdjAGEAbgBuAG8AdAAg +AGwAbwBjAGEAdABlACAAZgBpAGwAZQAgAAABAAtmAGkAbABlACAAABcgAG4AbwB0ACAAZgBvAHUA +bgBkAC4AACNEAGEAdABlAFMAdABhAG0AcABGAG8AcgBtAGEAdAA6ACAAADsNAAoADQAKAEUAeABj +AGUAcAB0AGkAbwBuAE8AbgBGAGkAbABlAE4AbwB0AEYAbwB1AG4AZAA6ACAAAB0NAAoADQAKAEMA +bwBwAHkATwBuAGwAeQA6ACAAACMNAAoADQAKAE8AawBUAG8AUAByAG8AYwBlAGUAZAA6ACAAADMN +AAoADQAKAFMAbwB1AHIAYwBlAEYAaQBsAGUARABpAHIAZQBjAHQAbwByAHkAOgAgAAAdDQAKAA0A +CgBGAGkAbABlAE4AYQBtAGUAOgAgAAAfDQAKAA0ACgBFAHgAdABlAG4AcwBpAG8AbgA6ACAAACUN +AAoADQAKAEIAYQBzAGUARgBpAGwAZQBOAGEAbQBlADoAIAAALw0ACgANAAoARgBvAHIAbQBhAHQA +dABlAGQARgBpAGwAZQBOAGEAbQBlADoAIAAAMw0ACgANAAoAVwBvAHIAawBpAG4AZwBDAG8AcAB5 +AEYAaQBsAGUATgBhAG0AZQA6ACAAAAkNAAoADQAKAAAAPU/5JrUh2k6SVLMDDsgJ0gAIt3pcVhk0 +4IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAES +EQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQ +AQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEB +EiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBgICBggDBhEoBAAAAAAEAQAA +AAUgAQERNQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUS +GAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAAT +AQAOTXkuQXBwbGljYXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAE +AAEcHAMHAQIDBwEIBgABEhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT +eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0 +ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg +AQETAAgHAxMAEwATAAQgAQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAA +BAABARwEBwESIAQgABJxBCAAEnUFIAESeRwDIAAcBAABAhwGAAMODg4OCQAECA4OCBGAiQUAAg4O +CAQAAQ4OBAABCA4FAAARgI0FAAIOHA4HAAQODg4ODgQgAQEcBAABAg4FIAASgJkFAAIODg4IIAUC +CA4ODggKAAMRgKEcEYClHAogBgEIDg4OCBACBQABARJtBQABDh0OBCABAQgVBxECAg4ODg4ODg4O +Dg4ODhJtAh0OCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVU +RnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFt +ZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkYTIxMWU1ZGYtMGM2NS00ODllLThjMTQtN2U0NDdhMmU5 +YTVkAAAFAQABAAAWAQARQ29weXJpZ2h0IEAgIDIwMTIAACgBACNTVF83OWU0MjJkN2Q1OTQ0ZDM0 +OTAwMDljOTkxZGUyZmQ2NwAAMEMAAAAAAAAAAAAATkMAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AEBDAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAA +ABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAA +gAMAAAAAAAAAAAAAgAM0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4A +AAEAAAABAAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEA +cgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACw +BOACAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAALwCAAABADAAMAAwADAAMAA0AGIA +MAAAAHAAJAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAFQAXwA3ADkAZQA0 +ADIAMgBkADcAZAA1ADkANAA0AGQAMwA0ADkAMAAwADAAOQBjADkAOQAxAGQAZQAyAGYAZAA2ADcA +AAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAABwACgAAQBJ +AG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAVABfADcAOQBlADQAMgAyAGQANwBkADUAOQA0ADQA +ZAAzADQAOQAwADAAMAA5AGMAOQA5ADEAZABlADIAZgBkADYANwAuAGQAbABsAAAASAASAAEATABl +AGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAA +MQAyAAAAeAAoAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAOQBl +ADQAMgAyAGQANwBkADUAOQA0ADQAZAAzADQAOQAwADAAMAA5AGMAOQA5ADEAZABlADIAZgBkADYA +NwAuAGQAbABsAAAAaAAkAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABTAFQAXwA3ADkAZQA0 +ADIAMgBkADcAZAA1ADkANAA0AGQAMwA0ADkAMAAwADAAOQBjADkAOQAxAGQAZQAyAGYAZAA2ADcA +AAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAI +AAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAABgMwAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.database b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.database new file mode 100644 index 0000000..3295d5a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.database @@ -0,0 +1,13 @@ + + Chapter 7 + Chapter 7 + 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/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj new file mode 100644 index 0000000..9bb75a5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj @@ -0,0 +1,1660 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + Chapter 7.database + Chapter 7.database + + + + + + + + {61b83463-0645-46e1-9721-31414921df71} + Chapter 7 + 1 + 0 + 0 + + + 2012-03-21T23:40:14.670665-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAgWVZ53FSXku4Ogh4TDzIVAAAAAACAAAAAAAQZgAAAAEAACAAAAByrTZ7hbav9ZZQL1z94S4DM8/y2Yp4dX3w1VwLw+MmkwAAAAAOgAAAAAIAACAAAACMUAChoDmXG7LA7WhS2/Nx1/gjEXUHBKtvDN7/XkxEypAAAAAoABWCkPnWYWwSdmy3c4Cv1zAk1QoA1NhVT5buQ4EJ2G078RcjAcy41cBfoEkuhoQgrVaHvkeAZfzMUBi8+IEZK7j7FpPm+qeeWCFdVUae71JGzHk9mqnZrvSUAFVdx9HnaZhVD66Q3v6Iee4jH22aPRlfyy7zAc/SHuobyTSjnI1V2JYvjLJMaEuwjFYupCBAAAAAFNdTO+g/xF6kzTdbJH4emVum4IeSvicTqFo5+LC3fhyr49NWPguZUCzZPsR6zaY8jkIWuZgNx+p/aX0no3fzMQ== + 1 + + + + + + + + + + + + + + + + + + + {26A98456-1645-4E7A-B310-D1D55EC6FF99} + Chapter7 + 1 + 0 + 2 + + + {EDC681EE-8242-4BA4-B0DE-69C63694E696} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFlatFile.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + Data Source=vmSQL2012E;Initial Catalog=StagingDB;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + StagingDB + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + vmSQL2012E + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {48306210-3A18-4B39-AF40-69722286BB38} + VariableLengthRows + 1 + 0 + 2 + + + {01D7FD91-96CC-4BC6-9911-1ABD43689E4A} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\VarLengthFile.txt + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {25DE0787-9D10-4D1C-9416-8F47E6033897} + ParseFileFooter + 1 + 0 + 1 + + + {EB721F24-14D5-4B79-A0BC-D462DAA1AAE8} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFileFooterSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {96709609-A303-4538-89C4-E99A93A25D44} + ParseFileHeader2 + 1 + 0 + 1 + + + {5FF576B7-45F3-4823-AF0B-F440E5FEB2C9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFileHeaderSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {3AD241CD-7535-451C-A06A-FA19C1C4B7C9} + WriteFileFooter + 1 + 0 + 3 + + + {637BB467-7D9A-4578-B7DD-FFF2AED74936} + 6 + + + 1 + + + + + {437574E2-C686-4707-A5F0-29E574DF82FA} + + + A sum that can serve as a hash value. + 0 + 0 + 0 + 0 + 15 + + + + + {D695E32B-26C6-4492-A111-9F1616CE5FCB} + + + Datetime format of the date string. + 0 + 1 + 0 + 18 + + + + + {E493E48E-36A0-46E8-A424-EA376016F57D} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + true + 3 + + + + + {4078BD95-51F5-4E90-B49E-BF55D2581FC5} + + + Delimiter for the footer row. + 0 + 1 + 0 + , + 18 + + + + + {7D1E5540-CD14-4DD6-B85B-422EFEEA8890} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {6256CCD3-CE06-4A04-97EC-70CA060412AA} + + + the date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {8544CD9F-F5CD-41A1-8101-548300B75B67} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + {F658F989-CF08-44F6-A059-22524DDF5048} + TestParent + 1 + 0 + 7 + + + {5EE6B38C-63F7-49BD-860D-3FA3BEC395B4} + 6 + + + 1 + + + + + + {AE089EB4-92DF-4805-9543-3AA38EA859B0} + WriteFileHeader + 1 + 0 + 6 + + + {3E4B4107-9468-45CA-B236-3C2F55D1DBEC} + 6 + + + 1 + + + + + {5179D7DE-2F16-48BA-935A-DB53CFFB258A} + + + A sum that can serve as a has value. + 0 + 0 + 0 + 0 + 15 + + + + + {EB64DAB0-8B64-4E32-8548-BD24FD10BB21} + + + Datetime format of the date string. + 0 + 1 + 0 + 18 + + + + + {37B88CB5-EE32-412E-AE24-DF9BB6B06865} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + false + 3 + + + + + {207A60A5-BBFF-4057-9C92-0D342628199D} + + + Delimiter for the footer row. + 0 + 1 + 0 + , + 18 + + + + + {07E333CE-179D-4336-9F14-0BCD87C5EB3E} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {D10044B3-57A5-4D2A-89E5-B679104A4FE4} + + + The date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {46A6C5B3-6EBE-4CDA-B499-E8D5846887E4} + + + the path of the output file. + 0 + 1 + 0 + 18 + + + + + {6C61C7C2-44BC-4983-9D9D-338FBF7B6BB3} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {4AE0980F-B710-4822-ABCD-51402EFB1702} + ArchiveFile + 1 + 0 + 1 + + + {A226076E-ABE5-4182-9306-0859514B78FC} + 6 + + + 1 + + + + + {E3D94812-D3D6-4477-AE9C-6DAB238D0A6E} + + + + + 0 + 1 + 0 + C:\Users\A. Ray Leonard\Documents\Archive + 18 + + + + + {4053FB58-9D99-4CF0-B75F-58F15D76129A} + + + + + 0 + 0 + 0 + true + 3 + + + + + {92FBAB23-3C51-4442-BC6E-B48D855C5F4E} + + + + + 0 + 0 + 0 + _yyyyMMdd_hhmmss + 18 + + + + + {C82BFDEC-FA92-4758-B5D4-C9F80FE3DD9C} + + + + + 0 + 0 + 0 + true + 3 + + + + + {0E108D02-E165-4C4A-99EF-704770AB80B2} + + + + + 0 + 0 + 0 + true + 3 + + + + + {1F502B20-3F62-471F-9373-CFBE2126E26A} + + + + + 0 + 0 + 0 + true + 3 + + + + + {82F209E2-7538-4484-AC57-D935656B2D1B} + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\randomdata.csv + 18 + + + + + + + {3FE5C9BF-C142-4C03-9F3F-2D26BFA028E8} + Package1 + 1 + 0 + 0 + + + {3CDC3258-F725-4A69-B0CF-92E9F6203071} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-03-22T04:01:46.512346Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj.user new file mode 100644 index 0000000..19f47d7 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter 7.dtproj.user @@ -0,0 +1,21 @@ + + + + + Development + + + + false + true + + + LastModifiedTime + LastModifiedTime + 2012-03-22T04:01:46.512346Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter7.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter7.dtsx new file mode 100644 index 0000000..b7b2ffc --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Chapter7.dtsx @@ -0,0 +1,665 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (DT_STR,1,1252)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} + (DT_STR,1,1252)RecordType + + + + + (DT_STR,50,1252)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]} + (DT_STR,50,1252)Name + + + + + (DT_I4)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Value]} + (DT_I4)Value + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + 0 + [FlatFileDest] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/Package1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/Package1.dtsx new file mode 100644 index 0000000..7553c0e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Package1.dtsx @@ -0,0 +1,19 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileFooter.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileFooter.dtsx new file mode 100644 index 0000000..619d73e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileFooter.dtsx @@ -0,0 +1,724 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]},"rows",1) > 0 + FINDSTRING(ID,"rows",1) > 0 + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + (DT_I4)[TRIM]([LEFT](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]},[FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]}," ",1))) + (DT_I4)TRIM(LEFT(ID,FINDSTRING(ID," ",1))) + + + + + (DT_DBTIMESTAMP)[TRIM]([RIGHT](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]},[LEN](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]}) - [FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]}," ",2))) + (DT_DBTIMESTAMP)TRIM(RIGHT(Name,LEN(Name) - FINDSTRING(Name," ",2))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileHeader2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileHeader2.dtsx new file mode 100644 index 0000000..3b3c264 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/ParseFileHeader2.dtsx @@ -0,0 +1,1620 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class +]]> + + + _ + _ +Public Class ScriptMain + Inherits UserComponent + + Dim iRowNum As Integer = 0 + +#Region "Help: Using Integration Services variables and parameters" + '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 component, according to whether or not your + 'code needs to write into the variable. To do so, save this script, close this instance of + 'Visual Studio, and update the ReadOnlyVariables and ReadWriteVariables properties. + 'To use a parameter in this script, follow the same steps. Parameters are always read-only. + + 'Example of reading from a variable or parameter: + ' startTime = Variables.MyStartTime; + + 'Example of writing to a variable: + ' Variables.myStringVariable = "new value"; +#End Region + +#Region "Help: Using Integration Services Connnection Managers" + 'Some types of connection managers can be used in this script component. See the help topic + '"Working with Connection Managers Programatically" for details. + + 'To use a connection manager in this script, first ensure that the connection manager has + 'been added to either the list of connection managers on the Connection Managers page of the + 'script component editor. To add the connection manager, save this script, close this instance of + ' Visual Studio, and add the Connection Manager to the list. + + 'If the component needs to hold a connection open while processing rows, override the + 'AcquireConnections and ReleaseConnections methods. + + 'Example of using an ADO.Net connection manager to acquire a SqlConnection: + ' Dim rawConnection As Object = Connections.SalesDB.AcquireConnection(Transaction) + ' Dim salesDBConn As SqlConnection = CType(rawConnection, SqlConnection) + + 'Example of using a File connection manager to acquire a file path: + ' Dim rawConnection As Object = Connections.Prices_zip.AcquireConnection(Transaction) + ' Dim filePath As String = CType(rawConnection, String) + + 'Example of releasing a connection manager: + ' Connections.SalesDB.ReleaseConnection(rawConnection) +#End Region + +#Region "Help: Firing Integration Services Events" + 'This script component can fire events. + + 'Example of firing an error event: + ' ComponentMetaData.FireError(10, "Process Values", "Bad value", "", 0, cancel) + + 'Example of firing an information event: + ' ComponentMetaData.FireInformation(10, "Process Values", "Processing has started", "", 0, fireAgain) + + 'Example of firing a warning event: + ' ComponentMetaData.FireWarning(10, "Process Values", "No rows were received", "", 0) + +#End Region + + 'This method is called once, before rows begin to be processed in the data flow. + ' + 'You can remove this method if you don't need to do anything here. + Public Overrides Sub PreExecute() + MyBase.PreExecute() + ' + ' Add your code here + ' + End Sub + + ' This method is called after all the rows have passed through this component. + ' + ' You can delete this method if you don't need to do anything here. + Public Overrides Sub PostExecute() + MyBase.PostExecute() + ' + ' Add your code here + ' + End Sub + + 'This method is called once for every row that passes through the component from Input0. + ' + 'Example of reading a value from a column in the the row: + ' zipCode = Row.ZipCode + ' + 'Example of writing a value to a column in the row: + ' Row.ZipCode = zipCode + Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) + + ' increment rownum + iRowNum += 1 + + Select Case iRowNum + Case 1 + ' parse + Dim sTmpCount As String = Row.ID + sTmpCount = Strings.Trim(Strings.Left(Row.ID, Strings.InStr(Row.ID, " "))) + Dim sTmpDate As String = Row.Name + sTmpDate = Strings.Replace(Row.Name, " extracted ", "") + + ' header row + With HeaderBuffer + .AddRow() + .RowCount = Convert.ToInt32(sTmpCount) + .ExtractDateTime = Convert.ToDateTime(sTmpDate) + End With + Case 2 + ' ignore + Case 3 + 'column names + Case Else + ' data rows + With DataBuffer + .AddRow() + .ID = Convert.ToInt32(Row.ID) + .Name = Row.Name + End With + End Select + + + End Sub + + Public Overrides Sub CreateNewOutputRows() + ' + ' Add rows by calling the AddRow method on the member variable named "Buffer". + ' For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput". + ' + End Sub + +End Class +]]> + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + +]]> + + + _ +Public Class UserComponent + Inherits ScriptComponent + + Public Connections As New Connections(Me) + Public Variables As New Variables(Me) + + Public HeaderBuffer As HeaderBuffer + + Public DataBuffer As DataBuffer + + Dim InputsFinished As Integer = 0 + + Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + If InputName.Equals("Input 0", StringComparison.Ordinal) Then + Input0_ProcessInput(New Input0Buffer(Buffer, GetColumnIndexes(InputID), OutputMap)) + End If + + If Buffer.EndOfRowset Then + InputsFinished = InputsFinished + 1 + If InputsFinished = 1 Then + FinishOutputs() + MarkOutputsFinished() + End If + End If + + End Sub + + Public Overridable Sub FinishOutputs() + End Sub + + Private Sub MarkOutputsFinished() + + If HeaderBuffer IsNot Nothing Then + HeaderBuffer.SetEndOfRowset + HeaderBuffer = Nothing + End If + + If DataBuffer IsNot Nothing Then + DataBuffer.SetEndOfRowset + DataBuffer = Nothing + End If + + End Sub + + Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + For I As Integer = 0 To Outputs - 1 + If OutputIDs(I) = GetOutputID(OutputMap, "Header") Then + HeaderBuffer = New HeaderBuffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + If OutputIDs(I) = GetOutputID(OutputMap, "Data") Then + DataBuffer = New DataBuffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + Next + + CreateNewOutputRows() + + End Sub + + Public Overridable Sub CreateNewOutputRows() + End Sub + + Public Overridable Sub Input0_ProcessInput(ByVal Buffer As Input0Buffer) + + While Buffer.NextRow() + Input0_ProcessInputRow(Buffer) + End While + + End Sub + + Public Overridable Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) + + End Sub + +End Class + + _ +Public Class Connections + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class + + _ +Public Class Variables + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class +]]> + + + _ +Public Class Input0Buffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public ReadOnly Property [ID]() As String + Get + Return Buffer.GetString(Me.BufferColumnIndexes(0)) + End Get + End Property + Public ReadOnly Property [ID_IsNull] As Boolean + Get + Return IsNull(0) + End Get + End Property + + Public ReadOnly Property [Name]() As String + Get + Return Buffer.GetString(Me.BufferColumnIndexes(1)) + End Get + End Property + Public ReadOnly Property [Name_IsNull] As Boolean + Get + Return IsNull(1) + End Get + End Property + + Public Overloads Function NextRow() As Boolean + NextRow = MyBase.NextRow() + End Function + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class + + _ +Public Class HeaderBuffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [RowCount]() As Int32 + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [RowCount_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public WriteOnly Property [ExtractDateTime]() As DateTime + Set + Me(1) = Value + End Set + End Property + Public WriteOnly Property [ExtractDateTime_IsNull] As Boolean + Set + If (value) + SetNull(1) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class + + _ +Public Class DataBuffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [Name]() As String + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [Name_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public WriteOnly Property [ID]() As Int32 + Set + Me(1) = Value + End Set + End Property + Public WriteOnly Property [ID_IsNull] As Boolean + Set + If (value) + SetNull(1) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class +]]> + + + + + + + + +]]> + + + + + + SC_cb76905df11841f9b1767c46c445427b + SC_cb76905df11841f9b1767c46c445427b + {38C372A3-AEBB-48C2-B1A1-1605954F05C6} + msBuild + + + + + + + + + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {CDB1F267-2F22-43B8-830A-A2F138B7BC20} + Library + My Project + SC_cb76905df11841f9b1767c46c445427b + SC_cb76905df11841f9b1767c46c445427b + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + + + + + + + + + + SSIS_SC110 + + + + +]]> + + + + + + + + + SC_cb76905df11841f9b1767c46c445427b + VisualBasic + + + + + + 3aa75c093211fb71cbc892a96d76b218 + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch07/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/TestParent.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/TestParent.dtsx new file mode 100644 index 0000000..f878004 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/TestParent.dtsx @@ -0,0 +1,251 @@ + + + 6 + + + 123.45 + + + yyyy/MM/dd HH:mm:ss.fff + + + 0 + + + , + + + C:\Users\A. Ray Leonard\Documents\MyFileFooterSource.csv + + + C:\Users\A. Ray Leonard\Documents\MyFileHeaderSource.csv + + + C:\Users\A. Ray Leonard\Documents\OutputHeader.csv + + + 42 + + + + + + + + + + + True + WriteFileFooter.dtsx + + AmountSum + User::AmountSum + + + DateFormat + User::DateFormat + + + Debug + User::Debug + + + Delimiter + User::Delimiter + + + ExtractFilePath + User::ExtractFooterFilePath + + + LastUpdateDateTime + System::StartTime + + + RecordCount + User::RecordCount + + + + + + + + + + + + + + True + WriteFileHeader.dtsx + + AmountSum + User::AmountSum + + + DateFormat + User::DateFormat + + + Debug + User::Debug + + + Delimiter + User::Delimiter + + + ExtractFilePath + User::ExtractHeaderFilePath + + + LastUpdateDateTime + System::StartTime + + + RecordCount + User::RecordCount + + + OutputFilePath + User::OutputPath + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/VariableLengthRows.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/VariableLengthRows.dtsx new file mode 100644 index 0000000..26e7a91 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/VariableLengthRows.dtsx @@ -0,0 +1,791 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "A" + RecordType == "A" + 0 + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "B" + RecordType == "B" + 1 + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "C" + RecordType == "C" + 2 + + + + + + true + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileFooter.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileFooter.dtsx new file mode 100644 index 0000000..6560c99 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileFooter.dtsx @@ -0,0 +1,954 @@ + + + 6 + + + 0 + + + + + + -1 + + + , + + + + + + 1/1/1900 + + + 0 + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {C3842BC9-4B9B-4097-92FB-E3E3D3F09BFD} + Library + My Project + ST_5e8cb79f87a54e6eb64d2752b84334f1 + ST_5e8cb79f87a54e6eb64d2752b84334f1 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_5e8cb79f87a54e6eb64d2752b84334f1 + ST_5e8cb79f87a54e6eb64d2752b84334f1 + {A9B8AA7B-DFD6-4FEC-A8BC-55E7E4A8C0DD} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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. + + Dim bDebug As Boolean + + Public Sub Main() + + ' 1: detect Debug setting... + bDebug = Convert.ToBoolean(Dts.Variables("Debug").Value) + + ' 2: declare and initialize variables... + ' 2a: generic variables... + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sMsg As String + ' 2b: task-specific variables... + Dim sExtractFilePath As String = Dts.Variables("ExtractFilePath").Value.ToString + Dim iRecordCount As Integer = Convert.ToInt32(Dts.Variables("RecordCount").Value) + Dim sAmountSum As String = Dts.Variables("AmountSum").Value.ToString + Dim sDateFormat As String = Dts.Variables("DateFormat").Value.ToString + Dim sDelimiter As String = Dts.Variables("Delimiter").Value.ToString + Dim sLastUpdateDateTime As String = Strings.Format(Dts.Variables("LastUpdateDateTime").Value, sDateFormat) _ +'"yyyy/MM/dd hh:mm:ss.fff") + Dim sFooterRow As String + Dim s As Integer = 0 + + ' 3: log values... + sMsg = "Package Name.Task Name: " & sSubComponent & ControlChars.CrLf & _ + ControlChars.CrLf & _ + "Extract File Path: " & sExtractFilePath & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Record Count: " & iRecordCount.ToString & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Amount Sum: " & sAmountSum & ControlChars.CrLf & ControlChars.CrLf & _ + "Date Format: " & sDateFormat & ControlChars.CrLf & ControlChars.CrLf & _ + "Delimiter: " & sDelimiter & ControlChars.CrLf & ControlChars.CrLf & _ + "LastUpdateDateTime: " & sLastUpdateDateTime & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Debug: " & bDebug.ToString + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 4: create footer row... + sFooterRow = iRecordCount.ToString & sDelimiter & sAmountSum & sDelimiter & _ +sLastUpdateDateTime + ' 5: log... + sMsg = "Footer Row: " & sFooterRow + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 6: check if the file is in use... + While FileInUse(sExtractFilePath) + ' 6a: if file is in use, sleep for a second... + System.Threading.Thread.Sleep(1000) + ' 6b: incrementor... + s += 1 + ' 6c: if incrementor reaches 10 (10 seconds), + If s > 10 Then + ' exit the loop... + Exit While + End If 's > 10 + End While 'FileInUse(sExtractFilePath) + ' 7: log... + If s = 1 Then + sMsg = "File was in use " & s.ToString & " time." + Else ' s = 1 + sMsg = "File was in use " & s.ToString & " times." + End If ' s = 1 + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 8: if the file exists... + If File.Exists(sExtractFilePath) Then + Try + ' 8a: open it for append, encoded as built, using a streamwriter... + Dim writer As StreamWriter = New StreamWriter(sExtractFilePath, True, _ +Encoding.Default) + ' 8b: add the footer row... + writer.WriteLine(sFooterRow) + ' 8c: clean up... + writer.Flush() + ' 8d: get out... + writer.Close() + ' 8e: log... + sMsg = "File " & sExtractFilePath & " exists and the footer row has " & _ +"been appended." + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + Catch ex As Exception + ' 8f: log... + sMsg = "Issue with appending footer row to " & sExtractFilePath & _ +" file: " & ControlChars.CrLf & ex.Message + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + End Try + Else + ' 8g: log... + sMsg = "Cannot find file: " & sExtractFilePath + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + End If ' File.Exists(sExtractFilePath) + + '9: return success... + Dts.TaskResult = ScriptResults.Success + + End Sub + + Function FileInUse(ByVal sFile As String) As Boolean + + If File.Exists(sFile) Then + Try + Dim f As Integer = FreeFile() + FileOpen(f, sFile, OpenMode.Binary, OpenAccess.ReadWrite, _ +OpenShare.LockReadWrite) + FileClose(f) + Catch ex As Exception + Return True + End Try + End If + + End Function + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDADQ2a08AAAAAAAAAAOAAAiELAQgAACYAAAAGAAAAAAAAXkQA +AAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAhEAABTAAAAAGAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAZCQAAAAgAAAAJgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAYAAAAAQAAAAoAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAIAAAAACAAAALAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABA +RAAAAAAAAEgAAAACAAUAHCgAAOwbAAABAAAAAAAAAGQnAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqGzAHADkEAAAPAAARAgJvJQAACm8mAAAKcjMAAHBvJwAACm8oAAAKKBEAAAooKQAACn0KAAAE +Am8lAAAKbyYAAApyPwAAcG8nAAAKbygAAApvFQAAChMJAm8lAAAKbyYAAApyVwAAcG8nAAAKbygA +AApvFQAAChMLEQlyaQAAcBELKCoAAAoTCgJvJQAACm8mAAAKcm0AAHBvJwAACm8oAAAKbxUAAAoT +BQJvJQAACm8mAAAKco0AAHBvJwAACm8oAAAKKBEAAAooKwAACgoCbyUAAApvJgAACnKlAABwbycA +AApvKAAACm8VAAAKDAJvJQAACm8mAAAKcrkAAHBvJwAACm8oAAAKbxUAAAoNAm8lAAAKbyYAAApy +zwAAcG8nAAAKbygAAApvFQAAChMEAm8lAAAKbyYAAApy4wAAcG8nAAAKbygAAAooEQAACgkoLAAA +ChMHFgsfEI0hAAABEw4RDhZyCQEAcKIRDhcRCqIRDhhyOwEAcKIRDhkRBaIRDhpyawEAcKIRDhsS +ACgtAAAKohEOHHKRAQBwohEOHQiiEQ4ecrMBAHCiEQ4fCQmiEQ4fCnLXAQBwohEOHwsRBKIRDh8M +cvcBAHCiEQ4fDREHohEOHw5yKQIAcKIRDh8PAnwKAAAEKC4AAAqiEQ4oLwAAChMIAm8lAAAKbzAA +AAoWEQoRCHJBAgBwFhcTDxIPbzEAAAoCewoAAAQsChEIFhQoMgAACiYbjSEAAAETDhEOFhIAKC0A +AAqiEQ4XEQSiEQ4YCKIRDhkRBKIRDhoRB6IRDigvAAAKEwZyQwIAcBEGKDMAAAoTCAJvJQAACm8w +AAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELB8RCBYUKDIAAAomKxMg6AMAACg0AAAKBxfW +CwcfCjAKAhEFbxoAAAYt4wcXMxpyXQIAcBIBKC0AAApyfwIAcCgqAAAKEwgrGHJdAgBwEgEoLQAA +CnKNAgBwKCoAAAoTCAJvJQAACm8wAAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELAoRCBYU +KDIAAAomEQUoNQAACjnLAAAAEQUXKDYAAApzNwAAChMMEQwRBm84AAAKEQxvOQAAChEMbzoAAApy +nQIAcBEFcqkCAHAoKgAAChMIAm8lAAAKbzAAAAoWEQoRCHJBAgBwFhcTDxIPbzEAAAoCewoAAAQs +ChEIFhQoMgAACibdmwAAACUoOwAAChMNcgUDAHARBXJNAwBwEQ1vPAAACig9AAAKEwgCbyUAAApv +MAAAChYRChEIckECAHAWFxMPEg9vMQAACgJ7CgAABCwKEQgWFCgyAAAKJig+AAAK3kByYQMAcBEF +KDMAAAoTCAJvJQAACm8wAAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELAoRCBYUKDIAAAom +Am8lAAAKFm8/AAAKKgAAAAEQAAAAACEDcJEDWxwAAAEbMAYAPwAAABAAABEDKDUAAAosNShAAAAK +CwcDHyAZFhUoQQAACheNIwAAAQ0JFgeeCShCAAAK3hAlKDsAAAoMFwooPgAACt4ABioAARAAAAAA +CAAlLQAQHAAAAbQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZVJlYWRl +ciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlU +b2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0 +AgAAAAAAAAAAAAAAUEFEUEFEULQAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADQCAAAI34AADwJAADoCgAAI1N0cmluZ3MAAAAAJBQAAIgDAAAjVVMArBcAABAAAAAjR1VJRAAA +ALwXAAAwBAAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAAPgAAAAoAAAANAAAA +GgAAAAUAAABPAAAAAgAAADYAAAAQAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAvQoBAAAAAAAKAEsBIQEKAH8BYQEGAI8BiAEKAOcBIQEGAGUCiAEKAOcCvQIGAB0D +DAMGAEoDNQMOALEDnAMSADAEBwQGAGgEiAEOAJsEhQQOALQEhQQOAOEEyQQGAAsF+AQKAEoFIwUK +AGIFEwAOAJcFegUGAMwFrAUGAOoFiAEGAA4GiAEKACcGEwAGAGsGTAYGAJEGfwYGALgGpwYGAMsG ++AQGAPIG6AYGAP8GiAESAAkHBwQWAGIHQgcWAHoHQgcGAIwHiAEGAJ4HiAEKALQHEwAGAMMHiAEG +AMkHiAESANEHBwQKAAAIEwAKAAwIEwAKABkIEwAGACwIpwYGADkI6AYGAFEIRQgGAGYI6AYKAIcI +IwUKANAIEwAKAOQIEwAKAO0IEwAKAPgIEwAGABUJiAESACsJBwQGAIUJrAUGAKUJrAUGAN0JwwkG +APYJfwYGABMKTAYGACEKfwYGADwKfwYGAFcKfwYGAHAKfwYGAIkKfwYGAKYKfwYAAAAAAQAAAAAA +AQABAAAAAAApADcABQABAAEAAAAAAF4ANwAJAAEAAgAAARAAaQA3AA0AAQADAAUBAABzAAAADQAF +AAgABQEAAIEAAAANAAUADwAAAAAAnACoAA0ABgARAAABEADZAOQAJQAIABUAAQAAAAgB5AApAAoA +GAACAQAAEwEAAC0ACwAbADEAqgEgADEA0wEtADEA9QE6ADEAGgJHACEA9gKQABEALQOdABEAVgOh +ABEAyQO/ABEA0QPDAAEATATZAAYGbQThAFaAdQTkAFaAfQTkAFAgAAAAAAYYWwETAAEAWCAAAAAA +BhhbARMAAQBgIAAAAAARGJYBFwABAIwgAAAAABMInQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAAT +COwBNQABANQgAAAAABMICgJCAAEA7CAAAAAARgJQAmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMA +agJsAAIANCEAAAAARgJyAnEAAgBIIQAAAAARAHsCeAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhb +ARMABACIIQAAAAADCK0CiwAEALwhAAAAAAYYWwETAAQA0CEAAAAAAxhbARMABADYIQAAAAAWCGID +pQAEABQiAAAAABYIdgOqAAQAKCIAAAAAFgiCA68ABAAwIgAAAAARGJYBFwAFAEQiAAAAAAYYWwET +AAUATCIAAAAAFgjeA8YABQCoIgAAAAAGGFsBEwAFALAiAAAAAAYAUwQTAAUACCcAAEgABgBYBNwA +BQAAAAEAVwIAAAEAkAIAAAEAkAIAAAEAjgMAAAEAYgQJAFsBEwBhAFsB8gBxAFsBAQERAFsBEwB5 +AFsBEwAkAFsBEwAsAFsBEwA0AFsBEwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsB +EwCJAFsBEwCRAFsBUAGZANsFmwEZAFACYwAZAFkCaAApAPwFqAEZAHICcQCpABgGuAEZAFsBEwCx +AFsByAFEAPYCkABMAN4DiwBMAEIGRQJMAFsBEwC5AFsBVAIpAJoGXwI5AFsBZAJJAFsBEwDJAMAG +gALJAMYGgALRAFsBEwBRAFsBEwBRABsHigLpAGwHjwLxAIMHlAL5AN4DmgIBAZQHngIJAaUHowIB +AawHqgIRAbwHrwIZAXICcQAhAXICcQAJAaUHtQLpAOUHuwIpAfAHwQIxASUIzAIJAaUH1wJJATMI +3QJRAT4I4gJZAVoI5wLZAFsB7QJhAXEIUAHZAHsIEwDZAIEIEwBpAZMI9gLhAKMIcQAJAaUH/AJp +Aa8IFwDpAMEIBANxAdsIHwNxAQIJIwNxAQsJMwORAVsBVAKZAVsBEwChAVsBBAOpAVsBEwCxAVsB +UAG5AVsBUAHBAVsBUAHJAVsBUAHRAVsBUAHZAVsBUAHhAVsBUAHpAVsBUAHxAVsBUAEIADAA6AAI +ADQA7QApAIMAigEuAHMCWQIuAGsCWQIuAEMCsgMuAGMCBgQuAHsCBgQuACsCQgMuADMCSwMuADsC +agMuAEsCvwMuAOsAWQIuABsC6QMuAFMCWQIuAFsC7wNAACsA7QBAABMA+ABDABMA+ABDABsABwFJ +AIMAYgFjABMA+ABjABsABwFpAIMAVQGAACsA7QCDABsABwGDAHsA7QCDAHMA7QCJAIMAdgGgACsA +7QCjAMMA0AGjABMA+ADAACsA7QDDAOsAWQLDABMA+ADJABMAdwLgACsA7QDpABMAdwIAASsA7QAA +ARMA+AAJARsB7QAgASsA7QAgARMA+AAjASMC7QAjARsCWQJAASsA7QBAARMA+ABgARMA+ABgASsA +7QCAASsA7QCgASsA7QDAARMA+ADAASsA7QDgASsA7QAAAisA7QAAAhMA+AA8AUEBRgFLAaABpAGv +AbQBwwHDAUsCawJyAoUCCQM5AwQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQC +XgAAAAADmAAAAB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwAC +ABIADQACABMADwABABQADwACABcAEQB1AHUAiAAgAScBLgE1ATICOQIEgAAAAQAAAAAAAAAAAAAA +AADkAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAA +AAEAiAEAAAAACwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAAAADQACMHAAAAAAAAAAABAAAA +TQkAAAUABAAGAAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AvgEtAEACAAAAPE1vZHVs +ZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU1RfNWU4Y2I3 +OWY4N2E1NGU2ZWI2NGQyNzUyYjg0MzM0ZjEuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJT +ZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNlcwBTVF81ZThjYjc5 +Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMS5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF81ZThj +Yjc5Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMQBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5j +dG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QA +LmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0 +aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRl +cgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRp +b24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5n +AENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dl +dEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRl +eHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNl +TWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0 +dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3Vs +dHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVl +AG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1p +Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0 +TW9kZWxCYXNlAGJEZWJ1ZwBNYWluAEZpbGVJblVzZQBzRmlsZQBFbnVtAHZhbHVlX18AU3VjY2Vz +cwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUA +RWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29k +ZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1 +dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBI +ZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRp +bWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFu +ZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBz +ZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1 +dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRp +bmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU3lzdGVt +LklPAFN0cmVhbVdyaXRlcgBFeGNlcHRpb24AU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNy +b3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGlt +ZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBDb252ZXJ0AFRvQm9v +bGVhbgBTdHJpbmcAQ29uY2F0AFRvSW50MzIAU3RyaW5ncwBGb3JtYXQASW50MzIAQm9vbGVhbgBF +dmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9ybWF0aW9uAEludGVyYWN0aW9u +AE1zZ0JveFJlc3VsdABNc2dCb3hTdHlsZQBNc2dCb3gAVGhyZWFkAFNsZWVwAEZpbGUARXhpc3Rz +AFN5c3RlbS5UZXh0AEVuY29kaW5nAGdldF9EZWZhdWx0AFRleHRXcml0ZXIAV3JpdGVMaW5lAEZs +dXNoAENsb3NlAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclBy +b2plY3RFcnJvcgBzZXRfVGFza1Jlc3VsdABGaWxlU3lzdGVtAEZyZWVGaWxlAE9wZW5Nb2RlAE9w +ZW5BY2Nlc3MAT3BlblNoYXJlAEZpbGVPcGVuAEZpbGVDbG9zZQBDTFNDb21wbGlhbnRBdHRyaWJ1 +dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzVlOGNiNzlmODdhNTRlNmVi +NjRkMjc1MmI4NDMzNGYxLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0aW9u +c0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5W +ZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0 +cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlD +b3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFu +eUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRy +aWJ1dGUAU1RfNWU4Y2I3OWY4N2E1NGU2ZWI2NGQyNzUyYjg0MzM0ZjEuZGxsAAAAAAAxTQB5AC4A +UgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAAtEAGUAYgB1AGcAABdQ +AGEAYwBrAGEAZwBlAE4AYQBtAGUAABFUAGEAcwBrAE4AYQBtAGUAAAMuAAAfRQB4AHQAcgBhAGMA +dABGAGkAbABlAFAAYQB0AGgAABdSAGUAYwBvAHIAZABDAG8AdQBuAHQAABNBAG0AbwB1AG4AdABT +AHUAbQAAFUQAYQB0AGUARgBvAHIAbQBhAHQAABNEAGUAbABpAG0AaQB0AGUAcgAAJUwAYQBzAHQA +VQBwAGQAYQB0AGUARABhAHQAZQBUAGkAbQBlAAAxUABhAGMAawBhAGcAZQAgAE4AYQBtAGUALgBU +AGEAcwBrACAATgBhAG0AZQA6ACAAAC8NAAoADQAKAEUAeAB0AHIAYQBjAHQAIABGAGkAbABlACAA +UABhAHQAaAA6ACAAACUNAAoADQAKAFIAZQBjAG8AcgBkACAAQwBvAHUAbgB0ADoAIAAAIQ0ACgAN +AAoAQQBtAG8AdQBuAHQAIABTAHUAbQA6ACAAACMNAAoADQAKAEQAYQB0AGUAIABGAG8AcgBtAGEA +dAA6ACAAAB8NAAoADQAKAEQAZQBsAGkAbQBpAHQAZQByADoAIAAAMQ0ACgANAAoATABhAHMAdABV +AHAAZABhAHQAZQBEAGEAdABlAFQAaQBtAGUAOgAgAAAXDQAKAA0ACgBEAGUAYgB1AGcAOgAgAAAB +ABlGAG8AbwB0AGUAcgAgAFIAbwB3ADoAIAAAIUYAaQBsAGUAIAB3AGEAcwAgAGkAbgAgAHUAcwBl +ACAAAA0gAHQAaQBtAGUALgAADyAAdABpAG0AZQBzAC4AAAtGAGkAbABlACAAAFsgAGUAeABpAHMA +dABzACAAYQBuAGQAIAB0AGgAZQAgAGYAbwBvAHQAZQByACAAcgBvAHcAIABoAGEAcwAgAGIAZQBl +AG4AIABhAHAAcABlAG4AZABlAGQALgAAR0kAcwBzAHUAZQAgAHcAaQB0AGgAIABhAHAAcABlAG4A +ZABpAG4AZwAgAGYAbwBvAHQAZQByACAAcgBvAHcAIAB0AG8AIAAAEyAAZgBpAGwAZQA6ACAADQAK +AAAlQwBhAG4AbgBvAHQAIABmAGkAbgBkACAAZgBpAGwAZQA6ACAAAAD9C9dPmKBHSJbwwgoqPE2g +AAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAAS +EQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUD +IAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0E +AAASIQUAAQESIQQIABIdBAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGAgQgAQIOAgYI +AwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAu +MAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4M +AQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAOTXkuV2ViU2VydmljZXMAABABAAtN +eS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4A +ByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQ +cm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAG +FRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0E +BwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASdQQgABJ5BSABEn0cAyAAHAQAAQIcBgADDg4ODgQA +AQgcBQACDhwOBQABDh0OBSAAEoCVCiAGAQgODg4IEAIKAAMRgJ0cEYChHAUAAg4ODgQAAQEIBAAB +Ag4FAAASgK0IIAMBDgISgK0FAAEBEnEHAAQODg4ODgQgAQEIFQcQCAgODg4ODg4ODg4OEm0ScR0O +AgMAAAgPAAYBCA4RgL0RgMERgMUIBQABAR0ICAcEAggScR0ICAEACAAAAAAAHgEAAQBUAhZXcmFw +Tm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJh +bWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkMWFlNWYx +ZTAtMmZkMS00YWZiLTliNjEtYWNkZWM5MzUzODE5AAAFAQABAAAWAQARQ29weXJpZ2h0IEAgIDIw +MTIAACgBACNTVF81ZThjYjc5Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMQAAADBEAAAAAAAAAAAA +AE5EAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARAAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFp +bgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA +GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAACA +AwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAA +AQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQBy +AEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAE +4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAwADQAYgAw +AAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADUAZQA4AGMA +YgA3ADkAZgA4ADcAYQA1ADQAZQA2AGUAYgA2ADQAZAAyADcANQAyAGIAOAA0ADMAMwA0AGYAMQAA +ADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAAKAABAEkA +bgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANQBlADgAYwBiADcAOQBmADgANwBhADUANABl +ADYAZQBiADYANABkADIANwA1ADIAYgA4ADQAMwAzADQAZgAxAC4AZABsAGwAAABIABIAAQBMAGUA +ZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAgADIAMAAx +ADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8ANQBlADgA +YwBiADcAOQBmADgANwBhADUANABlADYAZQBiADYANABkADIANwA1ADIAYgA4ADQAMwAzADQAZgAx +AC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADUAZQA4AGMA +YgA3ADkAZgA4ADcAYQA1ADQAZQA2AGUAYgA2ADQAZAAyADcANQAyAGIAOAA0ADMAMwA0AGYAMQAA +ADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAA4AAgA +AQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAGA0AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileHeader.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileHeader.dtsx new file mode 100644 index 0000000..8e5774b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/WriteFileHeader.dtsx @@ -0,0 +1,1563 @@ + + + 6 + + + @[$Package::ExtractFilePath] + + + + + + + + + + @[$Package::OutputFilePath] + + + + + + + + + + + + 0 + + + + + + 0 + + + , + + + + + + 1/1/1900 + + + + + + 0 + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + _ +Public Class Output0Buffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [HeaderRow]() As String + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [HeaderRow_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class +]]> + + + _ + _ +Public Class ScriptMain + Inherits UserComponent + +#Region "Help: Using Integration Services variables and parameters" + '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 component, according to whether or not your + 'code needs to write into the variable. To do so, save this script, close this instance of + 'Visual Studio, and update the ReadOnlyVariables and ReadWriteVariables properties. + 'To use a parameter in this script, follow the same steps. Parameters are always read-only. + + 'Example of reading from a variable or parameter: + ' startTime = Variables.MyStartTime; + + 'Example of writing to a variable: + ' Variables.myStringVariable = "new value"; +#End Region + +#Region "Help: Using Integration Services Connnection Managers" + 'Some types of connection managers can be used in this script component. See the help topic + '"Working with Connection Managers Programatically" for details. + + 'To use a connection manager in this script, first ensure that the connection manager has + 'been added to either the list of connection managers on the Connection Managers page of the + 'script component editor. To add the connection manager, save this script, close this instance of + ' Visual Studio, and add the Connection Manager to the list. + + 'If the component needs to hold a connection open while processing rows, override the + 'AcquireConnections and ReleaseConnections methods. + + 'Example of using an ADO.Net connection manager to acquire a SqlConnection: + ' Dim rawConnection As Object = Connections.SalesDB.AcquireConnection(Transaction) + ' Dim salesDBConn As SqlConnection = CType(rawConnection, SqlConnection) + + 'Example of using a File connection manager to acquire a file path: + ' Dim rawConnection As Object = Connections.Prices_zip.AcquireConnection(Transaction) + ' Dim filePath As String = CType(rawConnection, String) + + 'Example of releasing a connection manager: + ' Connections.SalesDB.ReleaseConnection(rawConnection) +#End Region + +#Region "Help: Firing Integration Services Events" + 'This script component can fire events. + + 'Example of firing an error event: + ' ComponentMetaData.FireError(10, "Process Values", "Bad value", "", 0, cancel) + + 'Example of firing an information event: + ' ComponentMetaData.FireInformation(10, "Process Values", "Processing has started", "", 0, fireAgain) + + 'Example of firing a warning event: + ' ComponentMetaData.FireWarning(10, "Process Values", "No rows were received", "", 0) + +#End Region + + 'This method is called once, before rows begin to be processed in the data flow. + ' + 'You can remove this method if you don't need to do anything here. + Public Overrides Sub PreExecute() + MyBase.PreExecute() + ' + ' Add your code here + ' + End Sub + + ' This method is called after all the rows have passed through this component. + ' + ' You can delete this method if you don't need to do anything here. + Public Overrides Sub PostExecute() + MyBase.PostExecute() + ' + ' Add your code here + ' + End Sub + + Public Overrides Sub CreateNewOutputRows() + + ' create header row... ' Get variable values... + Dim iRecordCount As Integer = Me.Variables.RecordCount + Dim sDelimiter As String = Me.Variables.Delimiter + Dim dAmountSum As Decimal = Convert.ToDecimal(Me.Variables.AmountSum) + Dim dtLastUpdateDateTime As DateTime = _ +Convert.ToDateTime(Me.Variables.LastUpdateDateTime) + + + Dim sHeaderRow As String = iRecordCount.ToString & sDelimiter & _ + dAmountSum.ToString & sDelimiter & _ + dtLastUpdateDateTime.ToString + + With Output0Buffer + .AddRow() + .HeaderRow = sHeaderRow + End With + End Sub + + +End Class +]]> + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + +]]> + + + _ +Public Class UserComponent + Inherits ScriptComponent + + Public Connections As New Connections(Me) + Public Variables As New Variables(Me) + + Public Output0Buffer As Output0Buffer + + Public Overridable Sub FinishOutputs() + End Sub + + Private Sub MarkOutputsFinished() + + If Output0Buffer IsNot Nothing Then + Output0Buffer.SetEndOfRowset + Output0Buffer = Nothing + End If + + End Sub + + Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + For I As Integer = 0 To Outputs - 1 + If OutputIDs(I) = GetOutputID(OutputMap, "Output 0") Then + Output0Buffer = New Output0Buffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + Next + + CreateNewOutputRows() + + FinishOutputs() + MarkOutputsFinished() + + End Sub + + Public Overridable Sub CreateNewOutputRows() + End Sub + +End Class + + _ +Public Class Connections + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class + + _ +Public Class Variables + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + + Public ReadOnly Property [AmountSum]() As Decimal + Get + Return CType(ParentComponent.ReadOnlyVariables("AmountSum").GetValueWithContext(ScriptComponent.EvaluatorContext), Decimal) + End Get + End Property + + Public ReadOnly Property [Delimiter]() As String + Get + Return CType(ParentComponent.ReadOnlyVariables("Delimiter").GetValueWithContext(ScriptComponent.EvaluatorContext), String) + End Get + End Property + + Public ReadOnly Property [LastUpdateDateTime]() As DateTime + Get + Return CType(ParentComponent.ReadOnlyVariables("LastUpdateDateTime").GetValueWithContext(ScriptComponent.EvaluatorContext), DateTime) + End Get + End Property + + Public ReadOnly Property [RecordCount]() As Int32 + Get + Return CType(ParentComponent.ReadOnlyVariables("RecordCount").GetValueWithContext(ScriptComponent.EvaluatorContext), Int32) + End Get + End Property + +End Class +]]> + + + + + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class +]]> + + + + + + SC_a237edef9df74f2b8a8205ee88ed9225 + SC_a237edef9df74f2b8a8205ee88ed9225 + msBuild + {2F617985-8946-42ED-94DF-A6F118E7C957} + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {81B07C6A-B0C4-4D75-B250-C1D0D6CE8EE2} + Library + My Project + SC_a237edef9df74f2b8a8205ee88ed9225 + SC_a237edef9df74f2b8a8205ee88ed9225 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + + + + + + + + + + SSIS_SC110 + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace +]]> + + + + + + + + + SC_a237edef9df74f2b8a8205ee88ed9225 + VisualBasic + $Package::AmountSum,$Package::Delimiter,$Package::LastUpdateDateTime,$Package::RecordCount + + + + + 5181a970403965e5cfe17c3271a67b75 + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/bin/Development/Chapter 7.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch07/bin/Development/Chapter 7.ispac new file mode 100644 index 0000000..7ff914e Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch07/bin/Development/Chapter 7.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ArchiveFile.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ArchiveFile.dtsx new file mode 100644 index 0000000..2b01283 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ArchiveFile.dtsx @@ -0,0 +1,1227 @@ + + + 6 + + + C:\Users\A. Ray Leonard\Documents\Archive + + + -1 + + + _yyyyMMdd_hhmmss + + + -1 + + + -1 + + + -1 + + + C:\Users\A. Ray Leonard\Documents\randomdata.csv + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {D5525159-2E07-4FAC-B71B-8EA2A178E4A0} + Library + My Project + ST_79e422d7d5944d3490009c991de2fd67 + ST_79e422d7d5944d3490009c991de2fd67 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_79e422d7d5944d3490009c991de2fd67 + ST_79e422d7d5944d3490009c991de2fd67 + {8C037519-341E-43AA-A21E-42F1926DA600} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + ' 1: declare bDebug + Dim bDebug As Boolean + + Public Sub Main() + + ' 2: detect Debug mode... + bDebug = Convert.ToBoolean(Dts.Variables("Debug").Value) + + ' 3:variables declaration... + Dim sPackageName As String = Dts.Variables("System::PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("System::TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sDateStampFormat As String = _ +Dts.Variables("$Package::DateStampFormat").Value.ToString + Dim sSourceFilePath As String = _ +Dts.Variables("$Package::SourceFilePath").Value.ToString + Dim bExceptionOnFileNotFound As Boolean = _ +Convert.ToBoolean(Dts.Variables("ExceptionOnFileNotFound").Value) + Dim bCopyOnly As Boolean = Convert.ToBoolean(Dts.Variables("CopyOnly").Value) + Dim sFileName As String + Dim sBaseFileName As String + Dim sExtension As String + Dim sSourceFileDirectory As String + Dim sWorkingCopyFileName As String + Dim sFormattedFileName As String + Dim sMsg As String + + ' 4: work with the file + Try + ' 4a: parse the source file directory... + sSourceFileDirectory = Strings.Trim(Strings.Left(sSourceFilePath, _ + Strings.InStrRev(sSourceFilePath, "\"))) + ' 4b: parse the filename... + sFileName = Strings.Trim(Strings.Right(sSourceFilePath, _ +Strings.Len(sSourceFilePath) - Strings.InStrRev(sSourceFilePath, "\"))) + ' 4c: parse the filepath minus the extension... + sBaseFileName = Strings.Left(sSourceFilePath, Strings.InStrRev(sSourceFilePath, _ + ".") - 1) + ' 4d: build working copy file name... + sWorkingCopyFileName = sSourceFileDirectory & "_" & sFileName + + ' 4e: parse extension... + sExtension = Strings.Trim(Strings.Right(sSourceFilePath, _ +Strings.Len(sSourceFilePath) - Strings.InStrRev(sSourceFilePath, "."))) + ' 4f: apply formatting to filename and set the output value of FormattedFileName + sFormattedFileName = sBaseFileName & _ +Strings.Format(Date.Now, sDateStampFormat) & "." & sExtension + ' 4g: assign external varables... + Dts.Variables("User::FormattedFileName").Value = sFormattedFileName + Dts.Variables("SourceFileDirectory").Value = sSourceFileDirectory + Dts.Variables("WorkingCopyFileName").Value = sWorkingCopyFileName + + ' 4h: check for valid file... + If File.Exists(sSourceFilePath) Then + ' 4i: set OkToProceed flag... + Dts.Variables("OkToProceed").Value = True + Else + ' 4j: if raising an exception on file not found... + If bExceptionOnFileNotFound Then + ' 4k: fire an error... + Dts.Events.FireError(1001, sSubComponent, "cannot locate file " & _ +sSourceFilePath, "", 0) + End If + ' 4l: set OkToProceed flag... + Dts.Variables("OkToProceed").Value = False + sMsg = "file " & sSourceFilePath & " not found." + If bDebug Then MsgBox(sMsg, MsgBoxStyle.OkOnly, sSubComponent) + ' 4m: log file not found, exception or not... + Dts.Events.FireInformation(2001, sSubComponent, sMsg, "", 0, True) + End If + + Catch ex As Exception + ' 4n: log error message... + Dts.Events.FireError(1001, sSubComponent, ex.Message, "", 0) + End Try + + ' 5: log information + sMsg = "DateStampFormat: " & sDateStampFormat & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "ExceptionOnFileNotFound: " & bExceptionOnFileNotFound.ToString & _ +ControlChars.CrLf & ControlChars.CrLf & _ + "CopyOnly: " & bCopyOnly.ToString & ControlChars.CrLf & ControlChars.CrLf & _ + "OkToProceed: " & Dts.Variables("OkToProceed").Value.ToString & _ +ControlChars.CrLf & ControlChars.CrLf & _ + "SourceFileDirectory: " & sSourceFileDirectory & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "FileName: " & sFileName & ControlChars.CrLf & ControlChars.CrLf & _ + "Extension: " & sExtension & ControlChars.CrLf & ControlChars.CrLf & _ + "BaseFileName: " & sBaseFileName & ControlChars.CrLf & ControlChars.CrLf & _ + "FormattedFileName: " & sFormattedFileName & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "WorkingCopyFileName: " & sWorkingCopyFileName & ControlChars.CrLf & _ +ControlChars.CrLf + + If bDebug Then MsgBox(sMsg, MsgBoxStyle.OkOnly, sSubComponent) + Dts.Events.FireInformation(2001, sSubComponent, sMsg, "", 0, True) + ' 6: output + Dts.TaskResult = ScriptResults.Success + + End Sub + + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAN9Ra08AAAAAAAAAAOAAAiELAQgAACQAAAAGAAAAAAAAXkMA +AAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAhDAABTAAAAAGAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAZCMAAAAgAAAAJAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAYAAAAAQAAAAmAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAIAAAAACAAAAKgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABA +QwAAAAAAAEgAAAACAAUAuCcAAFAbAAABAAAAAAAAAAAnAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqGzAHACcEAAAPAAARAgJvJQAACm8mAAAKcjMAAHBvJwAACm8oAAAKKBEAAAooKQAACn0KAAAE +Am8lAAAKbyYAAApyPwAAcG8nAAAKbygAAApvFQAAChMIAm8lAAAKbyYAAApyZwAAcG8nAAAKbygA +AApvFQAAChMMEQhyiQAAcBEMKCoAAAoTCwJvJQAACm8mAAAKco0AAHBvJwAACm8oAAAKbxUAAAoN +Am8lAAAKbyYAAApywQAAcG8nAAAKbygAAApvFQAAChMKAm8lAAAKbyYAAApy8wAAcG8nAAAKbygA +AAooEQAACigpAAAKCwJvJQAACm8mAAAKciMBAHBvJwAACm8oAAAKKBEAAAooKQAACgoRChEKcjUB +AHAVFigrAAAKKCwAAAooLQAAChMJEQoRCiguAAAKEQpyNQEAcBUWKCsAAAraKC8AAAooLQAAChMF +EQoRCnKJAABwFRYoKwAAChfaKCwAAAoMEQlyOQEAcBEFKCoAAAoTDREKEQooLgAAChEKcokAAHAV +FigrAAAK2igvAAAKKC0AAAoTBAgoMAAACowjAAABCSgxAAAKcokAAHARBCgyAAAKEwYCbyUAAApv +JgAACnI9AQBwbycAAAoRBm8zAAAKAm8lAAAKbyYAAApybQEAcG8nAAAKEQlvMwAACgJvJQAACm8m +AAAKcpUBAHBvJwAAChENbzMAAAoRCig0AAAKLCUCbyUAAApvJgAACnK9AQBwbycAAAoXjCUAAAFv +MwAACt3NAAAABywqAm8lAAAKbzUAAAog6QMAABELctUBAHARCig2AAAKcv0BAHAWbzcAAAomAm8l +AAAKbyYAAApyvQEAcG8nAAAKFowlAAABbzMAAApy/wEAcBEKcgsCAHAoKgAAChMHAnsKAAAELAsR +BxYRCyg4AAAKJgJvJQAACm81AAAKINEHAAARCxEHcv0BAHAWFxMPEg9vOQAACt40JSg6AAAKEw4C +byUAAApvNQAACiDpAwAAEQsRDm87AAAKcv0BAHAWbzcAAAomKDwAAAreAB8VjSAAAAETEBEQFnIj +AgBwohEQFwmiERAYckcCAHCiERAZEgEoPQAACqIREBpygwIAcKIREBsSACg9AAAKohEQHHKhAgBw +ohEQHQJvJQAACm8mAAAKcr0BAHBvJwAACm8oAAAKbxUAAAqiERAecsUCAHCiERAfCREJohEQHwpy ++QIAcKIREB8LEQWiERAfDHIXAwBwohEQHw0RBKIREB8OcjcDAHCiERAfDwiiERAfEHJdAwBwohEQ +HxERBqIREB8Sco0DAHCiERAfExENohEQHxRywQMAcKIRECg+AAAKEwcCewoAAAQsCxEHFhELKDgA +AAomAm8lAAAKbzUAAAog0QcAABELEQdy/QEAcBYXEw8SD285AAAKAm8lAAAKFm8/AAAKKgBBHAAA +AAAAAAcBAADGAQAAzQIAADQAAAAbAAABtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2Vz +LlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRy +YWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50 +aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4w +LjMwMzE5AAAAAAUAbAAAAIAIAAAjfgAA7AgAAGwKAAAjU3RyaW5ncwAAAABYEwAAzAMAACNVUwAk +FwAAEAAAACNHVUlEAAAANBcAABwEAAAjQmxvYgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEA +AAA3AAAACgAAAA0AAAAZAAAABAAAAEwAAAACAAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAA +AAUAAAABAAAAAwAAAAMAAAACAAAAAABECgEAAAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYA +ZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOcAxIAMAQHBAYAWASIAQ4AiwR1BA4ApAR1BA4A0QS5 +BAYA+wToBAoAOgUTBQoAUgUTAA4AhwVqBQYAvAWcBQYA2gWIAQYA/gWIAQoAFwYTAAYAWwY8BgYA +gQZvBgYAqAaXBgYAuwboBAYA2AaIARIA4gYHBBYAOwcbBxYAUwcbBwYAZQeIAQYAdweIAQoAhQcT +AAoAjQcTAAYAuAeIAQYA2gfQBwYA5geIARIA7gcHBAoAFwgTAAoAIwgTAAoAMAgTAAoAUwgTBQYA +nAiIARIAsggHBAYADAmcBQYALAmcBQYAZAlKCQYAfQlvBgYAmgk8BgYAqAlvBgYAwwlvBgYA3glv +BgYA9wlvBgYAEApvBgYALQpvBgAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkA +AQACAAABEABpADcADQABAAMABQEAAHMAAAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAG +ABEAAAEQANkA5AAlAAgAFQABAAAACAHkACkACgAYAAIBAAATAQAALQALABoAMQCqASAAMQDTAS0A +MQD1AToAMQAaAkcAIQD2ApAAEQAtA50AEQBWA6EAEQDJA78AEQDRA8MAAQBMBNkABgZdBNwAVoBl +BN8AVoBtBN8AUCAAAAAABhhbARMAAQBYIAAAAAAGGFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAA +EwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABG +AlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBqAmwAAgA0IQAAAABGAnICcQACAEghAAAAABEA +ewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsBEwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhb +ARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOlAAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIID +rwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMABQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwET +AAUAsCIAAAAABgBTBBMABQAAAAEAVwIAAAEAkAIAAAEAkAIAAAEAjgMJAFsBEwBhAFsB7QBxAFsB +/AARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsBEwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8 +AK0CiwCBAFsBEwCJAFsBEwCRAFsBSwGZAMsFlgEZAFACYwAZAFkCaAApAOwFowEZAHICcQCpAAgG +swEZAFsBEwCxAFsBwwFEAPYCkABMAN4DiwBMADIGQAJMAFsBEwC5AFsBTwIpAIoGWgI5AFsBXwJJ +AFsBEwDJALAGewLJALYGewLRAFsBEwBRAFsBEwBRAPQGhQLhAEUHigLpAFwHjwLxAN4DlQL5AG0H +mQIBAX4HngIJAZsHpQIJAaQHrwIJAakHtQIJAa4HugIJAbIHrwIZAcEHvwIJAckHxQIBAX4HywLx +ADIG0wIhAd8H2ALhAAII3QIBAX4H4wIxAQ0I6QI5ATwI8gIxAUMI/QJRAV8ICAPZAG8IcQBRAXsI +FwApAXICcQABAX4HDgPhAI0IFANZAVsBTwJhAVsBEwBpAVsBFANxAVsBEwB5AVsBSwGBAVsBSwGJ +AVsBSwGRAVsBSwGZAVsBSwGhAVsBSwGpAVsBSwGxAVsBSwG5AVsBSwEIADAA4wAIADQA6AApAIMA +hQEuAFsCVAIuAFMCVAIuACsCnwMuAEsC8wMuAGMC8wMuABMCLwMuABsCOAMuACMCVwMuADMCrAMu +AOsAVAIuAAMC1gMuADsCVAIuAEMC3ANAACsA6ABAABMA8wBDABMA8wBDABsAAgFJAIMAXQFjABMA +8wBjABsAAgFpAIMAUAGAACsA6ACDAHsA6ACDAHMA6ACDABsAAgGJAIMAcQGgACsA6ACjAMMAywGj +ABMA8wDAACsA6ADDABMA8wDDAOsAVALJABMAcgLgACsA6ADpABMAcgIAARMA8wAAASsA6AAJARsB +6AAgARMA8wAgASsA6AAjAQMCVAIjAQsC6ABAARMA8wBAASsA6ABgASsA6ABgARMA8wCAASsA6ACg +ASsA6ADAARMA8wDAASsA6ADgASsA6AAAAisA6AAAAhMA8wA3ATwBQQFGAZsBnwGqAa8BvgG+AUYC +ZgJtAoACGQMEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQAAADnAVkAAABEAl4AAAAAA5gAAAAd +A7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgATAA8A +AQAUAA8AAgAXABEAdQB1AIgAGwEiASkBMAEtAjQCBIAAAAEAAAAAAAAAAAAAAAAA5AAAAAQAAAAA +AAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAEAAAAAAAAAAAAAAABAIgBAAAAAAsA +AAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0AD8BgAAAAAAAAAAAQAAANQIAAAFAAQABgAE +AAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALkBLQA7AgAAAAAAPE1vZHVsZT4AbXNjb3Js +aWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU1RfNzllNDIyZDdkNTk0NGQz +NDkwMDA5Yzk5MWRlMmZkNjcuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBU +aHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNlcwBTVF83OWU0MjJkN2Q1OTQ0ZDM0 +OTAwMDljOTkxZGUyZmQ2Ny5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83OWU0MjJkN2Q1OTQ0 +ZDM0OTAwMDljOTkxZGUyZmQ2NwBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZp +c3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdl +dF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBw +T2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2Vi +U2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2Vy +dmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9f +SW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNl +AE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAx +AG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBf +cmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9S +ZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0 +ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09i +amVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5T +cWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNl +AGJEZWJ1ZwBNYWluAEVudW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVu +dE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0 +ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9z +dGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGls +ZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0 +ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3Rl +bS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUA +UnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3Rh +bmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5J +bnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3Nl +bWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVi +dWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBFeGNlcHRpb24AU2NyaXB0T2JqZWN0TW9kZWwAZ2V0 +X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5E +dHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBDb252 +ZXJ0AFRvQm9vbGVhbgBTdHJpbmcAQ29uY2F0AFN0cmluZ3MAQ29tcGFyZU1ldGhvZABJblN0clJl +dgBMZWZ0AFRyaW0ATGVuAFJpZ2h0AERhdGVUaW1lAGdldF9Ob3cARm9ybWF0AFN5c3RlbS5JTwBG +aWxlAEV4aXN0cwBCb29sZWFuAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBGaXJlRXJy +b3IASW50ZXJhY3Rpb24ATXNnQm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABGaXJlSW5mb3Jt +YXRpb24AUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAGdldF9NZXNzYWdlAENsZWFyUHJvamVj +dEVycm9yAHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFz +a0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfNzllNDIyZDdkNTk0NGQzNDkwMDA5Yzk5MWRlMmZkNjcu +UmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRp +bWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0 +RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJp +YnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0 +ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2Vt +Ymx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF83OWU0MjJk +N2Q1OTQ0ZDM0OTAwMDljOTkxZGUyZmQ2Ny5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAu +AE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAC0QAZQBiAHUAZwAAJ1MAeQBzAHQAZQBtADoAOgBQAGEA +YwBrAGEAZwBlAE4AYQBtAGUAACFTAHkAcwB0AGUAbQA6ADoAVABhAHMAawBOAGEAbQBlAAADLgAA +MyQAUABhAGMAawBhAGcAZQA6ADoARABhAHQAZQBTAHQAYQBtAHAARgBvAHIAbQBhAHQAADEkAFAA +YQBjAGsAYQBnAGUAOgA6AFMAbwB1AHIAYwBlAEYAaQBsAGUAUABhAHQAaAAAL0UAeABjAGUAcAB0 +AGkAbwBuAE8AbgBGAGkAbABlAE4AbwB0AEYAbwB1AG4AZAAAEUMAbwBwAHkATwBuAGwAeQAAA1wA +AANfAAAvVQBzAGUAcgA6ADoARgBvAHIAbQBhAHQAdABlAGQARgBpAGwAZQBOAGEAbQBlAAAnUwBv +AHUAcgBjAGUARgBpAGwAZQBEAGkAcgBlAGMAdABvAHIAeQAAJ1cAbwByAGsAaQBuAGcAQwBvAHAA +eQBGAGkAbABlAE4AYQBtAGUAABdPAGsAVABvAFAAcgBvAGMAZQBlAGQAACdjAGEAbgBuAG8AdAAg +AGwAbwBjAGEAdABlACAAZgBpAGwAZQAgAAABAAtmAGkAbABlACAAABcgAG4AbwB0ACAAZgBvAHUA +bgBkAC4AACNEAGEAdABlAFMAdABhAG0AcABGAG8AcgBtAGEAdAA6ACAAADsNAAoADQAKAEUAeABj +AGUAcAB0AGkAbwBuAE8AbgBGAGkAbABlAE4AbwB0AEYAbwB1AG4AZAA6ACAAAB0NAAoADQAKAEMA +bwBwAHkATwBuAGwAeQA6ACAAACMNAAoADQAKAE8AawBUAG8AUAByAG8AYwBlAGUAZAA6ACAAADMN +AAoADQAKAFMAbwB1AHIAYwBlAEYAaQBsAGUARABpAHIAZQBjAHQAbwByAHkAOgAgAAAdDQAKAA0A +CgBGAGkAbABlAE4AYQBtAGUAOgAgAAAfDQAKAA0ACgBFAHgAdABlAG4AcwBpAG8AbgA6ACAAACUN +AAoADQAKAEIAYQBzAGUARgBpAGwAZQBOAGEAbQBlADoAIAAALw0ACgANAAoARgBvAHIAbQBhAHQA +dABlAGQARgBpAGwAZQBOAGEAbQBlADoAIAAAMw0ACgANAAoAVwBvAHIAawBpAG4AZwBDAG8AcAB5 +AEYAaQBsAGUATgBhAG0AZQA6ACAAAAkNAAoADQAKAAAAPU/5JrUh2k6SVLMDDsgJ0gAIt3pcVhk0 +4IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAES +EQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQ +AQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEB +EiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBgICBggDBhEoBAAAAAAEAQAA +AAUgAQERNQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUS +GAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAAT +AQAOTXkuQXBwbGljYXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAE +AAEcHAMHAQIDBwEIBgABEhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT +eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0 +ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg +AQETAAgHAxMAEwATAAQgAQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAA +BAABARwEBwESIAQgABJxBCAAEnUFIAESeRwDIAAcBAABAhwGAAMODg4OCQAECA4OCBGAiQUAAg4O +CAQAAQ4OBAABCA4FAAARgI0FAAIOHA4HAAQODg4ODgQgAQEcBAABAg4FIAASgJkFAAIODg4IIAUC +CA4ODggKAAMRgKEcEYClHAogBgEIDg4OCBACBQABARJtBQABDh0OBCABAQgVBxECAg4ODg4ODg4O +Dg4ODhJtAh0OCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVU +RnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFt +ZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkYTIxMWU1ZGYtMGM2NS00ODllLThjMTQtN2U0NDdhMmU5 +YTVkAAAFAQABAAAWAQARQ29weXJpZ2h0IEAgIDIwMTIAACgBACNTVF83OWU0MjJkN2Q1OTQ0ZDM0 +OTAwMDljOTkxZGUyZmQ2NwAAMEMAAAAAAAAAAAAATkMAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AEBDAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAA +ABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAA +gAMAAAAAAAAAAAAAgAM0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4A +AAEAAAABAAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEA +cgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACw +BOACAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAALwCAAABADAAMAAwADAAMAA0AGIA +MAAAAHAAJAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAFQAXwA3ADkAZQA0 +ADIAMgBkADcAZAA1ADkANAA0AGQAMwA0ADkAMAAwADAAOQBjADkAOQAxAGQAZQAyAGYAZAA2ADcA +AAAwAAgAAQBGAGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAABwACgAAQBJ +AG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAVABfADcAOQBlADQAMgAyAGQANwBkADUAOQA0ADQA +ZAAzADQAOQAwADAAMAA5AGMAOQA5ADEAZABlADIAZgBkADYANwAuAGQAbABsAAAASAASAAEATABl +AGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAA +MQAyAAAAeAAoAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAOQBl +ADQAMgAyAGQANwBkADUAOQA0ADQAZAAzADQAOQAwADAAMAA5AGMAOQA5ADEAZABlADIAZgBkADYA +NwAuAGQAbABsAAAAaAAkAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABTAFQAXwA3ADkAZQA0 +ADIAMgBkADcAZAA1ADkANAA0AGQAMwA0ADkAMAAwADAAOQBjADkAOQAxAGQAZQAyAGYAZAA2ADcA +AAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAI +AAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAABgMwAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/BuildLog.xml new file mode 100644 index 0000000..7205277 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/BuildLog.xml @@ -0,0 +1,55 @@ + + + + Chapter 7 + 2012-06-26T15:19:24.0789648Z + EncryptSensitiveWithUserKey + + + + Chapter7.dtsx + 2012-03-22T04:05:40.3414229Z + EncryptSensitiveWithUserKey + + + VariableLengthRows.dtsx + 2012-06-26T15:19:23.970451Z + EncryptSensitiveWithUserKey + + + ParseFileFooter.dtsx + 2012-03-22T04:42:38.8136331Z + EncryptSensitiveWithUserKey + + + ParseFileHeader2.dtsx + 2012-03-22T13:30:52.1204316Z + EncryptSensitiveWithUserKey + + + WriteFileFooter.dtsx + 2012-03-22T14:24:54.440654Z + EncryptSensitiveWithUserKey + + + TestParent.dtsx + 2012-03-22T16:01:24.9409541Z + EncryptSensitiveWithUserKey + + + WriteFileHeader.dtsx + 2012-03-22T15:59:23.7700674Z + EncryptSensitiveWithUserKey + + + ArchiveFile.dtsx + 2012-03-22T17:08:21.9735525Z + EncryptSensitiveWithUserKey + + + Package1.dtsx + 2012-06-26T14:01:20.491554Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter 7.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter 7.dtproj new file mode 100644 index 0000000..4512a99 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter 7.dtproj @@ -0,0 +1,1660 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + Chapter 7.database + Chapter 7.database + + + + + + + + {61b83463-0645-46e1-9721-31414921df71} + Chapter 7 + 1 + 0 + 0 + + + 2012-03-21T23:40:14.670665-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAgWVZ53FSXku4Ogh4TDzIVAAAAAACAAAAAAAQZgAAAAEAACAAAADD7QRVoVXMFz+Ft0idC80odyG7Rr01uHLwZZjjt35cjwAAAAAOgAAAAAIAACAAAABmzjUaQ0hsfOKEnJ0m9J+gpkxoCn6XdnyWcaNC/IXcj5AAAACjX9KVR0EqwGJvveKQIScE4CMZGob9L6zw73VTLEtZucqOlhDV2B5F4U27dBCbE3iYTq42ZfuyzVQDHzJM9Y45FAuvRq8BT4uGIT+xOd4XzRMAPzQGX6K8LRsnoKrIHhVmLgraw27+f+Lqm1S9qXO6g2TsyN81YkuqV4DVIP6U9gRx62aQsU57s+BFcJzbCw9AAAAAifYqkqbsDbgulrvGoeZlzQqyzej+9ta2OEx3wbw/hNYka7fLFWbYytqQ/6gb9Fy4ZqfFNt3UAdpI/Q5S0uIgpQ== + 1 + + + + + + + + + + + + + + + + + + + {26A98456-1645-4E7A-B310-D1D55EC6FF99} + Chapter7 + 1 + 0 + 2 + + + {EDC681EE-8242-4BA4-B0DE-69C63694E696} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFlatFile.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + Data Source=vmSQL2012E;Initial Catalog=StagingDB;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + StagingDB + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + vmSQL2012E + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {48306210-3A18-4B39-AF40-69722286BB38} + VariableLengthRows + 1 + 0 + 2 + + + {01D7FD91-96CC-4BC6-9911-1ABD43689E4A} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\VarLengthFile.txt + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {25DE0787-9D10-4D1C-9416-8F47E6033897} + ParseFileFooter + 1 + 0 + 1 + + + {EB721F24-14D5-4B79-A0BC-D462DAA1AAE8} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFileFooterSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {96709609-A303-4538-89C4-E99A93A25D44} + ParseFileHeader2 + 1 + 0 + 1 + + + {5FF576B7-45F3-4823-AF0B-F440E5FEB2C9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\MyFileHeaderSource.csv + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {3AD241CD-7535-451C-A06A-FA19C1C4B7C9} + WriteFileFooter + 1 + 0 + 3 + + + {637BB467-7D9A-4578-B7DD-FFF2AED74936} + 6 + + + 1 + + + + + {437574E2-C686-4707-A5F0-29E574DF82FA} + + + A sum that can serve as a hash value. + 0 + 0 + 0 + 0 + 15 + + + + + {D695E32B-26C6-4492-A111-9F1616CE5FCB} + + + Datetime format of the date string. + 0 + 1 + 0 + 18 + + + + + {E493E48E-36A0-46E8-A424-EA376016F57D} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + true + 3 + + + + + {4078BD95-51F5-4E90-B49E-BF55D2581FC5} + + + Delimiter for the footer row. + 0 + 1 + 0 + , + 18 + + + + + {7D1E5540-CD14-4DD6-B85B-422EFEEA8890} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {6256CCD3-CE06-4A04-97EC-70CA060412AA} + + + the date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {8544CD9F-F5CD-41A1-8101-548300B75B67} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + {F658F989-CF08-44F6-A059-22524DDF5048} + TestParent + 1 + 0 + 7 + + + {5EE6B38C-63F7-49BD-860D-3FA3BEC395B4} + 6 + + + 1 + + + + + + {AE089EB4-92DF-4805-9543-3AA38EA859B0} + WriteFileHeader + 1 + 0 + 6 + + + {3E4B4107-9468-45CA-B236-3C2F55D1DBEC} + 6 + + + 1 + + + + + {5179D7DE-2F16-48BA-935A-DB53CFFB258A} + + + A sum that can serve as a has value. + 0 + 0 + 0 + 0 + 15 + + + + + {EB64DAB0-8B64-4E32-8548-BD24FD10BB21} + + + Datetime format of the date string. + 0 + 1 + 0 + 18 + + + + + {37B88CB5-EE32-412E-AE24-DF9BB6B06865} + + + Flag to indicate Debug mode operation. + 0 + 0 + 0 + false + 3 + + + + + {207A60A5-BBFF-4057-9C92-0D342628199D} + + + Delimiter for the footer row. + 0 + 1 + 0 + , + 18 + + + + + {07E333CE-179D-4336-9F14-0BCD87C5EB3E} + + + Path for the file containing data. + 0 + 1 + 0 + 18 + + + + + {D10044B3-57A5-4D2A-89E5-B679104A4FE4} + + + The date of this extract. + 0 + 1 + 0 + 1900-01-01T00:00:00 + 16 + + + + + {46A6C5B3-6EBE-4CDA-B499-E8D5846887E4} + + + the path of the output file. + 0 + 1 + 0 + 18 + + + + + {6C61C7C2-44BC-4983-9D9D-338FBF7B6BB3} + + + Number of records in the ExtractFilePath file. + 0 + 1 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {4AE0980F-B710-4822-ABCD-51402EFB1702} + ArchiveFile + 1 + 0 + 4 + + + {B102CFDC-D06B-43B2-8329-DD78EA675D15} + 6 + + + 1 + + + + + {E3D94812-D3D6-4477-AE9C-6DAB238D0A6E} + + + + + 0 + 1 + 0 + C:\Users\A. Ray Leonard\Documents\Archive + 18 + + + + + {4053FB58-9D99-4CF0-B75F-58F15D76129A} + + + + + 0 + 0 + 0 + true + 3 + + + + + {92FBAB23-3C51-4442-BC6E-B48D855C5F4E} + + + + + 0 + 0 + 0 + _yyyyMMdd_hhmmss + 18 + + + + + {C82BFDEC-FA92-4758-B5D4-C9F80FE3DD9C} + + + + + 0 + 0 + 0 + true + 3 + + + + + {0E108D02-E165-4C4A-99EF-704770AB80B2} + + + + + 0 + 0 + 0 + true + 3 + + + + + {1F502B20-3F62-471F-9373-CFBE2126E26A} + + + + + 0 + 0 + 0 + true + 3 + + + + + {82F209E2-7538-4484-AC57-D935656B2D1B} + + + + + 0 + 0 + 0 + C:\Users\A. Ray Leonard\Documents\randomdata.csv + 18 + + + + + + + {3FE5C9BF-C142-4C03-9F3F-2D26BFA028E8} + Package1 + 1 + 0 + 0 + + + {3CDC3258-F725-4A69-B0CF-92E9F6203071} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-03-22T04:01:46.512346Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter7.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter7.dtsx new file mode 100644 index 0000000..827fe43 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Chapter7.dtsx @@ -0,0 +1,665 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (DT_STR,1,1252)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} + (DT_STR,1,1252)RecordType + + + + + (DT_STR,50,1252)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]} + (DT_STR,50,1252)Name + + + + + (DT_I4)#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Value]} + (DT_I4)Value + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + 0 + [FlatFileDest] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Package1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Package1.dtsx new file mode 100644 index 0000000..7553c0e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Package1.dtsx @@ -0,0 +1,19 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileFooter.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileFooter.dtsx new file mode 100644 index 0000000..c17450d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileFooter.dtsx @@ -0,0 +1,724 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]},"rows",1) > 0 + FINDSTRING(ID,"rows",1) > 0 + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + (DT_I4)[TRIM]([LEFT](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]},[FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[ID]}," ",1))) + (DT_I4)TRIM(LEFT(ID,FINDSTRING(ID," ",1))) + + + + + (DT_DBTIMESTAMP)[TRIM]([RIGHT](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]},[LEN](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]}) - [FINDSTRING](#{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[Name]}," ",2))) + (DT_DBTIMESTAMP)TRIM(RIGHT(Name,LEN(Name) - FINDSTRING(Name," ",2))) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileHeader2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileHeader2.dtsx new file mode 100644 index 0000000..d1cd455 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/ParseFileHeader2.dtsx @@ -0,0 +1,1620 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class +]]> + + + _ + _ +Public Class ScriptMain + Inherits UserComponent + + Dim iRowNum As Integer = 0 + +#Region "Help: Using Integration Services variables and parameters" + '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 component, according to whether or not your + 'code needs to write into the variable. To do so, save this script, close this instance of + 'Visual Studio, and update the ReadOnlyVariables and ReadWriteVariables properties. + 'To use a parameter in this script, follow the same steps. Parameters are always read-only. + + 'Example of reading from a variable or parameter: + ' startTime = Variables.MyStartTime; + + 'Example of writing to a variable: + ' Variables.myStringVariable = "new value"; +#End Region + +#Region "Help: Using Integration Services Connnection Managers" + 'Some types of connection managers can be used in this script component. See the help topic + '"Working with Connection Managers Programatically" for details. + + 'To use a connection manager in this script, first ensure that the connection manager has + 'been added to either the list of connection managers on the Connection Managers page of the + 'script component editor. To add the connection manager, save this script, close this instance of + ' Visual Studio, and add the Connection Manager to the list. + + 'If the component needs to hold a connection open while processing rows, override the + 'AcquireConnections and ReleaseConnections methods. + + 'Example of using an ADO.Net connection manager to acquire a SqlConnection: + ' Dim rawConnection As Object = Connections.SalesDB.AcquireConnection(Transaction) + ' Dim salesDBConn As SqlConnection = CType(rawConnection, SqlConnection) + + 'Example of using a File connection manager to acquire a file path: + ' Dim rawConnection As Object = Connections.Prices_zip.AcquireConnection(Transaction) + ' Dim filePath As String = CType(rawConnection, String) + + 'Example of releasing a connection manager: + ' Connections.SalesDB.ReleaseConnection(rawConnection) +#End Region + +#Region "Help: Firing Integration Services Events" + 'This script component can fire events. + + 'Example of firing an error event: + ' ComponentMetaData.FireError(10, "Process Values", "Bad value", "", 0, cancel) + + 'Example of firing an information event: + ' ComponentMetaData.FireInformation(10, "Process Values", "Processing has started", "", 0, fireAgain) + + 'Example of firing a warning event: + ' ComponentMetaData.FireWarning(10, "Process Values", "No rows were received", "", 0) + +#End Region + + 'This method is called once, before rows begin to be processed in the data flow. + ' + 'You can remove this method if you don't need to do anything here. + Public Overrides Sub PreExecute() + MyBase.PreExecute() + ' + ' Add your code here + ' + End Sub + + ' This method is called after all the rows have passed through this component. + ' + ' You can delete this method if you don't need to do anything here. + Public Overrides Sub PostExecute() + MyBase.PostExecute() + ' + ' Add your code here + ' + End Sub + + 'This method is called once for every row that passes through the component from Input0. + ' + 'Example of reading a value from a column in the the row: + ' zipCode = Row.ZipCode + ' + 'Example of writing a value to a column in the row: + ' Row.ZipCode = zipCode + Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) + + ' increment rownum + iRowNum += 1 + + Select Case iRowNum + Case 1 + ' parse + Dim sTmpCount As String = Row.ID + sTmpCount = Strings.Trim(Strings.Left(Row.ID, Strings.InStr(Row.ID, " "))) + Dim sTmpDate As String = Row.Name + sTmpDate = Strings.Replace(Row.Name, " extracted ", "") + + ' header row + With HeaderBuffer + .AddRow() + .RowCount = Convert.ToInt32(sTmpCount) + .ExtractDateTime = Convert.ToDateTime(sTmpDate) + End With + Case 2 + ' ignore + Case 3 + 'column names + Case Else + ' data rows + With DataBuffer + .AddRow() + .ID = Convert.ToInt32(Row.ID) + .Name = Row.Name + End With + End Select + + + End Sub + + Public Overrides Sub CreateNewOutputRows() + ' + ' Add rows by calling the AddRow method on the member variable named "Buffer". + ' For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput". + ' + End Sub + +End Class +]]> + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + +]]> + + + _ +Public Class UserComponent + Inherits ScriptComponent + + Public Connections As New Connections(Me) + Public Variables As New Variables(Me) + + Public HeaderBuffer As HeaderBuffer + + Public DataBuffer As DataBuffer + + Dim InputsFinished As Integer = 0 + + Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + If InputName.Equals("Input 0", StringComparison.Ordinal) Then + Input0_ProcessInput(New Input0Buffer(Buffer, GetColumnIndexes(InputID), OutputMap)) + End If + + If Buffer.EndOfRowset Then + InputsFinished = InputsFinished + 1 + If InputsFinished = 1 Then + FinishOutputs() + MarkOutputsFinished() + End If + End If + + End Sub + + Public Overridable Sub FinishOutputs() + End Sub + + Private Sub MarkOutputsFinished() + + If HeaderBuffer IsNot Nothing Then + HeaderBuffer.SetEndOfRowset + HeaderBuffer = Nothing + End If + + If DataBuffer IsNot Nothing Then + DataBuffer.SetEndOfRowset + DataBuffer = Nothing + End If + + End Sub + + Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + For I As Integer = 0 To Outputs - 1 + If OutputIDs(I) = GetOutputID(OutputMap, "Header") Then + HeaderBuffer = New HeaderBuffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + If OutputIDs(I) = GetOutputID(OutputMap, "Data") Then + DataBuffer = New DataBuffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + Next + + CreateNewOutputRows() + + End Sub + + Public Overridable Sub CreateNewOutputRows() + End Sub + + Public Overridable Sub Input0_ProcessInput(ByVal Buffer As Input0Buffer) + + While Buffer.NextRow() + Input0_ProcessInputRow(Buffer) + End While + + End Sub + + Public Overridable Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) + + End Sub + +End Class + + _ +Public Class Connections + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class + + _ +Public Class Variables + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class +]]> + + + _ +Public Class Input0Buffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public ReadOnly Property [ID]() As String + Get + Return Buffer.GetString(Me.BufferColumnIndexes(0)) + End Get + End Property + Public ReadOnly Property [ID_IsNull] As Boolean + Get + Return IsNull(0) + End Get + End Property + + Public ReadOnly Property [Name]() As String + Get + Return Buffer.GetString(Me.BufferColumnIndexes(1)) + End Get + End Property + Public ReadOnly Property [Name_IsNull] As Boolean + Get + Return IsNull(1) + End Get + End Property + + Public Overloads Function NextRow() As Boolean + NextRow = MyBase.NextRow() + End Function + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class + + _ +Public Class HeaderBuffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [RowCount]() As Int32 + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [RowCount_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public WriteOnly Property [ExtractDateTime]() As DateTime + Set + Me(1) = Value + End Set + End Property + Public WriteOnly Property [ExtractDateTime_IsNull] As Boolean + Set + If (value) + SetNull(1) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class + + _ +Public Class DataBuffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [Name]() As String + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [Name_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public WriteOnly Property [ID]() As Int32 + Set + Me(1) = Value + End Set + End Property + Public WriteOnly Property [ID_IsNull] As Boolean + Set + If (value) + SetNull(1) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class +]]> + + + + + + + + +]]> + + + + + + SC_cb76905df11841f9b1767c46c445427b + SC_cb76905df11841f9b1767c46c445427b + {38C372A3-AEBB-48C2-B1A1-1605954F05C6} + msBuild + + + + + + + + + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {CDB1F267-2F22-43B8-830A-A2F138B7BC20} + Library + My Project + SC_cb76905df11841f9b1767c46c445427b + SC_cb76905df11841f9b1767c46c445427b + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + + + + + + + + + + SSIS_SC110 + + + + +]]> + + + + + + + + + SC_cb76905df11841f9b1767c46c445427b + VisualBasic + + + + + + 3aa75c093211fb71cbc892a96d76b218 + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/TestParent.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/TestParent.dtsx new file mode 100644 index 0000000..0829b9e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/TestParent.dtsx @@ -0,0 +1,251 @@ + + + 6 + + + 123.45 + + + yyyy/MM/dd HH:mm:ss.fff + + + 0 + + + , + + + C:\Users\A. Ray Leonard\Documents\MyFileFooterSource.csv + + + C:\Users\A. Ray Leonard\Documents\MyFileHeaderSource.csv + + + C:\Users\A. Ray Leonard\Documents\OutputHeader.csv + + + 42 + + + + + + + + + + + True + WriteFileFooter.dtsx + + AmountSum + User::AmountSum + + + DateFormat + User::DateFormat + + + Debug + User::Debug + + + Delimiter + User::Delimiter + + + ExtractFilePath + User::ExtractFooterFilePath + + + LastUpdateDateTime + System::StartTime + + + RecordCount + User::RecordCount + + + + + + + + + + + + + + True + WriteFileHeader.dtsx + + AmountSum + User::AmountSum + + + DateFormat + User::DateFormat + + + Debug + User::Debug + + + Delimiter + User::Delimiter + + + ExtractFilePath + User::ExtractHeaderFilePath + + + LastUpdateDateTime + System::StartTime + + + RecordCount + User::RecordCount + + + OutputFilePath + User::OutputPath + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/VariableLengthRows.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/VariableLengthRows.dtsx new file mode 100644 index 0000000..fc959fe --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/VariableLengthRows.dtsx @@ -0,0 +1,791 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "A" + RecordType == "A" + 0 + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "B" + RecordType == "B" + 1 + + + + + + #{Package\Data Flow Task\Flat File Source.Outputs[Flat File Source Output].Columns[RecordType]} == "C" + RecordType == "C" + 2 + + + + + + true + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileFooter.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileFooter.dtsx new file mode 100644 index 0000000..cc06395 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileFooter.dtsx @@ -0,0 +1,954 @@ + + + 6 + + + 0 + + + + + + -1 + + + , + + + + + + 1/1/1900 + + + 0 + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {C3842BC9-4B9B-4097-92FB-E3E3D3F09BFD} + Library + My Project + ST_5e8cb79f87a54e6eb64d2752b84334f1 + ST_5e8cb79f87a54e6eb64d2752b84334f1 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_5e8cb79f87a54e6eb64d2752b84334f1 + ST_5e8cb79f87a54e6eb64d2752b84334f1 + {A9B8AA7B-DFD6-4FEC-A8BC-55E7E4A8C0DD} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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. + + Dim bDebug As Boolean + + Public Sub Main() + + ' 1: detect Debug setting... + bDebug = Convert.ToBoolean(Dts.Variables("Debug").Value) + + ' 2: declare and initialize variables... + ' 2a: generic variables... + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sMsg As String + ' 2b: task-specific variables... + Dim sExtractFilePath As String = Dts.Variables("ExtractFilePath").Value.ToString + Dim iRecordCount As Integer = Convert.ToInt32(Dts.Variables("RecordCount").Value) + Dim sAmountSum As String = Dts.Variables("AmountSum").Value.ToString + Dim sDateFormat As String = Dts.Variables("DateFormat").Value.ToString + Dim sDelimiter As String = Dts.Variables("Delimiter").Value.ToString + Dim sLastUpdateDateTime As String = Strings.Format(Dts.Variables("LastUpdateDateTime").Value, sDateFormat) _ +'"yyyy/MM/dd hh:mm:ss.fff") + Dim sFooterRow As String + Dim s As Integer = 0 + + ' 3: log values... + sMsg = "Package Name.Task Name: " & sSubComponent & ControlChars.CrLf & _ + ControlChars.CrLf & _ + "Extract File Path: " & sExtractFilePath & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Record Count: " & iRecordCount.ToString & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Amount Sum: " & sAmountSum & ControlChars.CrLf & ControlChars.CrLf & _ + "Date Format: " & sDateFormat & ControlChars.CrLf & ControlChars.CrLf & _ + "Delimiter: " & sDelimiter & ControlChars.CrLf & ControlChars.CrLf & _ + "LastUpdateDateTime: " & sLastUpdateDateTime & ControlChars.CrLf & _ +ControlChars.CrLf & _ + "Debug: " & bDebug.ToString + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 4: create footer row... + sFooterRow = iRecordCount.ToString & sDelimiter & sAmountSum & sDelimiter & _ +sLastUpdateDateTime + ' 5: log... + sMsg = "Footer Row: " & sFooterRow + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 6: check if the file is in use... + While FileInUse(sExtractFilePath) + ' 6a: if file is in use, sleep for a second... + System.Threading.Thread.Sleep(1000) + ' 6b: incrementor... + s += 1 + ' 6c: if incrementor reaches 10 (10 seconds), + If s > 10 Then + ' exit the loop... + Exit While + End If 's > 10 + End While 'FileInUse(sExtractFilePath) + ' 7: log... + If s = 1 Then + sMsg = "File was in use " & s.ToString & " time." + Else ' s = 1 + sMsg = "File was in use " & s.ToString & " times." + End If ' s = 1 + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + + ' 8: if the file exists... + If File.Exists(sExtractFilePath) Then + Try + ' 8a: open it for append, encoded as built, using a streamwriter... + Dim writer As StreamWriter = New StreamWriter(sExtractFilePath, True, _ +Encoding.Default) + ' 8b: add the footer row... + writer.WriteLine(sFooterRow) + ' 8c: clean up... + writer.Flush() + ' 8d: get out... + writer.Close() + ' 8e: log... + sMsg = "File " & sExtractFilePath & " exists and the footer row has " & _ +"been appended." + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + Catch ex As Exception + ' 8f: log... + sMsg = "Issue with appending footer row to " & sExtractFilePath & _ +" file: " & ControlChars.CrLf & ex.Message + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + End Try + Else + ' 8g: log... + sMsg = "Cannot find file: " & sExtractFilePath + Dts.Events.FireInformation(0, sSubComponent, sMsg, "", 0, True) + If bDebug Then MsgBox(sMsg) + End If ' File.Exists(sExtractFilePath) + + '9: return success... + Dts.TaskResult = ScriptResults.Success + + End Sub + + Function FileInUse(ByVal sFile As String) As Boolean + + If File.Exists(sFile) Then + Try + Dim f As Integer = FreeFile() + FileOpen(f, sFile, OpenMode.Binary, OpenAccess.ReadWrite, _ +OpenShare.LockReadWrite) + FileClose(f) + Catch ex As Exception + Return True + End Try + End If + + End Function + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDADQ2a08AAAAAAAAAAOAAAiELAQgAACYAAAAGAAAAAAAAXkQA +AAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAhEAABTAAAAAGAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAZCQAAAAgAAAAJgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAYAAAAAQAAAAoAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAIAAAAACAAAALAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABA +RAAAAAAAAEgAAAACAAUAHCgAAOwbAAABAAAAAAAAAGQnAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqGzAHADkEAAAPAAARAgJvJQAACm8mAAAKcjMAAHBvJwAACm8oAAAKKBEAAAooKQAACn0KAAAE +Am8lAAAKbyYAAApyPwAAcG8nAAAKbygAAApvFQAAChMJAm8lAAAKbyYAAApyVwAAcG8nAAAKbygA +AApvFQAAChMLEQlyaQAAcBELKCoAAAoTCgJvJQAACm8mAAAKcm0AAHBvJwAACm8oAAAKbxUAAAoT +BQJvJQAACm8mAAAKco0AAHBvJwAACm8oAAAKKBEAAAooKwAACgoCbyUAAApvJgAACnKlAABwbycA +AApvKAAACm8VAAAKDAJvJQAACm8mAAAKcrkAAHBvJwAACm8oAAAKbxUAAAoNAm8lAAAKbyYAAApy +zwAAcG8nAAAKbygAAApvFQAAChMEAm8lAAAKbyYAAApy4wAAcG8nAAAKbygAAAooEQAACgkoLAAA +ChMHFgsfEI0hAAABEw4RDhZyCQEAcKIRDhcRCqIRDhhyOwEAcKIRDhkRBaIRDhpyawEAcKIRDhsS +ACgtAAAKohEOHHKRAQBwohEOHQiiEQ4ecrMBAHCiEQ4fCQmiEQ4fCnLXAQBwohEOHwsRBKIRDh8M +cvcBAHCiEQ4fDREHohEOHw5yKQIAcKIRDh8PAnwKAAAEKC4AAAqiEQ4oLwAAChMIAm8lAAAKbzAA +AAoWEQoRCHJBAgBwFhcTDxIPbzEAAAoCewoAAAQsChEIFhQoMgAACiYbjSEAAAETDhEOFhIAKC0A +AAqiEQ4XEQSiEQ4YCKIRDhkRBKIRDhoRB6IRDigvAAAKEwZyQwIAcBEGKDMAAAoTCAJvJQAACm8w +AAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELB8RCBYUKDIAAAomKxMg6AMAACg0AAAKBxfW +CwcfCjAKAhEFbxoAAAYt4wcXMxpyXQIAcBIBKC0AAApyfwIAcCgqAAAKEwgrGHJdAgBwEgEoLQAA +CnKNAgBwKCoAAAoTCAJvJQAACm8wAAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELAoRCBYU +KDIAAAomEQUoNQAACjnLAAAAEQUXKDYAAApzNwAAChMMEQwRBm84AAAKEQxvOQAAChEMbzoAAApy +nQIAcBEFcqkCAHAoKgAAChMIAm8lAAAKbzAAAAoWEQoRCHJBAgBwFhcTDxIPbzEAAAoCewoAAAQs +ChEIFhQoMgAACibdmwAAACUoOwAAChMNcgUDAHARBXJNAwBwEQ1vPAAACig9AAAKEwgCbyUAAApv +MAAAChYRChEIckECAHAWFxMPEg9vMQAACgJ7CgAABCwKEQgWFCgyAAAKJig+AAAK3kByYQMAcBEF +KDMAAAoTCAJvJQAACm8wAAAKFhEKEQhyQQIAcBYXEw8SD28xAAAKAnsKAAAELAoRCBYUKDIAAAom +Am8lAAAKFm8/AAAKKgAAAAEQAAAAACEDcJEDWxwAAAEbMAYAPwAAABAAABEDKDUAAAosNShAAAAK +CwcDHyAZFhUoQQAACheNIwAAAQ0JFgeeCShCAAAK3hAlKDsAAAoMFwooPgAACt4ABioAARAAAAAA +CAAlLQAQHAAAAbQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5SZXNvdXJjZVJlYWRl +ciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlU +b2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0 +AgAAAAAAAAAAAAAAUEFEUEFEULQAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADQCAAAI34AADwJAADoCgAAI1N0cmluZ3MAAAAAJBQAAIgDAAAjVVMArBcAABAAAAAjR1VJRAAA +ALwXAAAwBAAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAAPgAAAAoAAAANAAAA +GgAAAAUAAABPAAAAAgAAADYAAAAQAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAvQoBAAAAAAAKAEsBIQEKAH8BYQEGAI8BiAEKAOcBIQEGAGUCiAEKAOcCvQIGAB0D +DAMGAEoDNQMOALEDnAMSADAEBwQGAGgEiAEOAJsEhQQOALQEhQQOAOEEyQQGAAsF+AQKAEoFIwUK +AGIFEwAOAJcFegUGAMwFrAUGAOoFiAEGAA4GiAEKACcGEwAGAGsGTAYGAJEGfwYGALgGpwYGAMsG ++AQGAPIG6AYGAP8GiAESAAkHBwQWAGIHQgcWAHoHQgcGAIwHiAEGAJ4HiAEKALQHEwAGAMMHiAEG +AMkHiAESANEHBwQKAAAIEwAKAAwIEwAKABkIEwAGACwIpwYGADkI6AYGAFEIRQgGAGYI6AYKAIcI +IwUKANAIEwAKAOQIEwAKAO0IEwAKAPgIEwAGABUJiAESACsJBwQGAIUJrAUGAKUJrAUGAN0JwwkG +APYJfwYGABMKTAYGACEKfwYGADwKfwYGAFcKfwYGAHAKfwYGAIkKfwYGAKYKfwYAAAAAAQAAAAAA +AQABAAAAAAApADcABQABAAEAAAAAAF4ANwAJAAEAAgAAARAAaQA3AA0AAQADAAUBAABzAAAADQAF +AAgABQEAAIEAAAANAAUADwAAAAAAnACoAA0ABgARAAABEADZAOQAJQAIABUAAQAAAAgB5AApAAoA +GAACAQAAEwEAAC0ACwAbADEAqgEgADEA0wEtADEA9QE6ADEAGgJHACEA9gKQABEALQOdABEAVgOh +ABEAyQO/ABEA0QPDAAEATATZAAYGbQThAFaAdQTkAFaAfQTkAFAgAAAAAAYYWwETAAEAWCAAAAAA +BhhbARMAAQBgIAAAAAARGJYBFwABAIwgAAAAABMInQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAAT +COwBNQABANQgAAAAABMICgJCAAEA7CAAAAAARgJQAmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMA +agJsAAIANCEAAAAARgJyAnEAAgBIIQAAAAARAHsCeAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhb +ARMABACIIQAAAAADCK0CiwAEALwhAAAAAAYYWwETAAQA0CEAAAAAAxhbARMABADYIQAAAAAWCGID +pQAEABQiAAAAABYIdgOqAAQAKCIAAAAAFgiCA68ABAAwIgAAAAARGJYBFwAFAEQiAAAAAAYYWwET +AAUATCIAAAAAFgjeA8YABQCoIgAAAAAGGFsBEwAFALAiAAAAAAYAUwQTAAUACCcAAEgABgBYBNwA +BQAAAAEAVwIAAAEAkAIAAAEAkAIAAAEAjgMAAAEAYgQJAFsBEwBhAFsB8gBxAFsBAQERAFsBEwB5 +AFsBEwAkAFsBEwAsAFsBEwA0AFsBEwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsB +EwCJAFsBEwCRAFsBUAGZANsFmwEZAFACYwAZAFkCaAApAPwFqAEZAHICcQCpABgGuAEZAFsBEwCx +AFsByAFEAPYCkABMAN4DiwBMAEIGRQJMAFsBEwC5AFsBVAIpAJoGXwI5AFsBZAJJAFsBEwDJAMAG +gALJAMYGgALRAFsBEwBRAFsBEwBRABsHigLpAGwHjwLxAIMHlAL5AN4DmgIBAZQHngIJAaUHowIB +AawHqgIRAbwHrwIZAXICcQAhAXICcQAJAaUHtQLpAOUHuwIpAfAHwQIxASUIzAIJAaUH1wJJATMI +3QJRAT4I4gJZAVoI5wLZAFsB7QJhAXEIUAHZAHsIEwDZAIEIEwBpAZMI9gLhAKMIcQAJAaUH/AJp +Aa8IFwDpAMEIBANxAdsIHwNxAQIJIwNxAQsJMwORAVsBVAKZAVsBEwChAVsBBAOpAVsBEwCxAVsB +UAG5AVsBUAHBAVsBUAHJAVsBUAHRAVsBUAHZAVsBUAHhAVsBUAHpAVsBUAHxAVsBUAEIADAA6AAI +ADQA7QApAIMAigEuAHMCWQIuAGsCWQIuAEMCsgMuAGMCBgQuAHsCBgQuACsCQgMuADMCSwMuADsC +agMuAEsCvwMuAOsAWQIuABsC6QMuAFMCWQIuAFsC7wNAACsA7QBAABMA+ABDABMA+ABDABsABwFJ +AIMAYgFjABMA+ABjABsABwFpAIMAVQGAACsA7QCDABsABwGDAHsA7QCDAHMA7QCJAIMAdgGgACsA +7QCjAMMA0AGjABMA+ADAACsA7QDDAOsAWQLDABMA+ADJABMAdwLgACsA7QDpABMAdwIAASsA7QAA +ARMA+AAJARsB7QAgASsA7QAgARMA+AAjASMC7QAjARsCWQJAASsA7QBAARMA+ABgARMA+ABgASsA +7QCAASsA7QCgASsA7QDAARMA+ADAASsA7QDgASsA7QAAAisA7QAAAhMA+AA8AUEBRgFLAaABpAGv +AbQBwwHDAUsCawJyAoUCCQM5AwQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQC +XgAAAAADmAAAAB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwAC +ABIADQACABMADwABABQADwACABcAEQB1AHUAiAAgAScBLgE1ATICOQIEgAAAAQAAAAAAAAAAAAAA +AADkAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAA +AAEAiAEAAAAACwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAAAADQACMHAAAAAAAAAAABAAAA +TQkAAAUABAAGAAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AvgEtAEACAAAAPE1vZHVs +ZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU1RfNWU4Y2I3 +OWY4N2E1NGU2ZWI2NGQyNzUyYjg0MzM0ZjEuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJT +ZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNlcwBTVF81ZThjYjc5 +Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMS5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF81ZThj +Yjc5Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMQBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5j +dG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QA +LmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0 +aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRl +cgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRp +b24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5n +AENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dl +dEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRl +eHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNl +TWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0 +dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3Vs +dHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVl +AG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1p +Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0 +TW9kZWxCYXNlAGJEZWJ1ZwBNYWluAEZpbGVJblVzZQBzRmlsZQBFbnVtAHZhbHVlX18AU3VjY2Vz +cwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUA +RWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29k +ZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1 +dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBI +ZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRp +bWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFu +ZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBz +ZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1 +dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRp +bmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU3lzdGVt +LklPAFN0cmVhbVdyaXRlcgBFeGNlcHRpb24AU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNy +b3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGlt +ZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBDb252ZXJ0AFRvQm9v +bGVhbgBTdHJpbmcAQ29uY2F0AFRvSW50MzIAU3RyaW5ncwBGb3JtYXQASW50MzIAQm9vbGVhbgBF +dmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9ybWF0aW9uAEludGVyYWN0aW9u +AE1zZ0JveFJlc3VsdABNc2dCb3hTdHlsZQBNc2dCb3gAVGhyZWFkAFNsZWVwAEZpbGUARXhpc3Rz +AFN5c3RlbS5UZXh0AEVuY29kaW5nAGdldF9EZWZhdWx0AFRleHRXcml0ZXIAV3JpdGVMaW5lAEZs +dXNoAENsb3NlAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclBy +b2plY3RFcnJvcgBzZXRfVGFza1Jlc3VsdABGaWxlU3lzdGVtAEZyZWVGaWxlAE9wZW5Nb2RlAE9w +ZW5BY2Nlc3MAT3BlblNoYXJlAEZpbGVPcGVuAEZpbGVDbG9zZQBDTFNDb21wbGlhbnRBdHRyaWJ1 +dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzVlOGNiNzlmODdhNTRlNmVi +NjRkMjc1MmI4NDMzNGYxLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0aW9u +c0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5W +ZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0 +cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlD +b3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFu +eUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRy +aWJ1dGUAU1RfNWU4Y2I3OWY4N2E1NGU2ZWI2NGQyNzUyYjg0MzM0ZjEuZGxsAAAAAAAxTQB5AC4A +UgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAAtEAGUAYgB1AGcAABdQ +AGEAYwBrAGEAZwBlAE4AYQBtAGUAABFUAGEAcwBrAE4AYQBtAGUAAAMuAAAfRQB4AHQAcgBhAGMA +dABGAGkAbABlAFAAYQB0AGgAABdSAGUAYwBvAHIAZABDAG8AdQBuAHQAABNBAG0AbwB1AG4AdABT +AHUAbQAAFUQAYQB0AGUARgBvAHIAbQBhAHQAABNEAGUAbABpAG0AaQB0AGUAcgAAJUwAYQBzAHQA +VQBwAGQAYQB0AGUARABhAHQAZQBUAGkAbQBlAAAxUABhAGMAawBhAGcAZQAgAE4AYQBtAGUALgBU +AGEAcwBrACAATgBhAG0AZQA6ACAAAC8NAAoADQAKAEUAeAB0AHIAYQBjAHQAIABGAGkAbABlACAA +UABhAHQAaAA6ACAAACUNAAoADQAKAFIAZQBjAG8AcgBkACAAQwBvAHUAbgB0ADoAIAAAIQ0ACgAN +AAoAQQBtAG8AdQBuAHQAIABTAHUAbQA6ACAAACMNAAoADQAKAEQAYQB0AGUAIABGAG8AcgBtAGEA +dAA6ACAAAB8NAAoADQAKAEQAZQBsAGkAbQBpAHQAZQByADoAIAAAMQ0ACgANAAoATABhAHMAdABV +AHAAZABhAHQAZQBEAGEAdABlAFQAaQBtAGUAOgAgAAAXDQAKAA0ACgBEAGUAYgB1AGcAOgAgAAAB +ABlGAG8AbwB0AGUAcgAgAFIAbwB3ADoAIAAAIUYAaQBsAGUAIAB3AGEAcwAgAGkAbgAgAHUAcwBl +ACAAAA0gAHQAaQBtAGUALgAADyAAdABpAG0AZQBzAC4AAAtGAGkAbABlACAAAFsgAGUAeABpAHMA +dABzACAAYQBuAGQAIAB0AGgAZQAgAGYAbwBvAHQAZQByACAAcgBvAHcAIABoAGEAcwAgAGIAZQBl +AG4AIABhAHAAcABlAG4AZABlAGQALgAAR0kAcwBzAHUAZQAgAHcAaQB0AGgAIABhAHAAcABlAG4A +ZABpAG4AZwAgAGYAbwBvAHQAZQByACAAcgBvAHcAIAB0AG8AIAAAEyAAZgBpAGwAZQA6ACAADQAK +AAAlQwBhAG4AbgBvAHQAIABmAGkAbgBkACAAZgBpAGwAZQA6ACAAAAD9C9dPmKBHSJbwwgoqPE2g +AAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAAS +EQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUD +IAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0E +AAASIQUAAQESIQQIABIdBAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGAgQgAQIOAgYI +AwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAu +MAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4M +AQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAOTXkuV2ViU2VydmljZXMAABABAAtN +eS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4A +ByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQ +cm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAG +FRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0E +BwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASdQQgABJ5BSABEn0cAyAAHAQAAQIcBgADDg4ODgQA +AQgcBQACDhwOBQABDh0OBSAAEoCVCiAGAQgODg4IEAIKAAMRgJ0cEYChHAUAAg4ODgQAAQEIBAAB +Ag4FAAASgK0IIAMBDgISgK0FAAEBEnEHAAQODg4ODgQgAQEIFQcQCAgODg4ODg4ODg4OEm0ScR0O +AgMAAAgPAAYBCA4RgL0RgMERgMUIBQABAR0ICAcEAggScR0ICAEACAAAAAAAHgEAAQBUAhZXcmFw +Tm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJh +bWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkMWFlNWYx +ZTAtMmZkMS00YWZiLTliNjEtYWNkZWM5MzUzODE5AAAFAQABAAAWAQARQ29weXJpZ2h0IEAgIDIw +MTIAACgBACNTVF81ZThjYjc5Zjg3YTU0ZTZlYjY0ZDI3NTJiODQzMzRmMQAAADBEAAAAAAAAAAAA +AE5EAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAABARAAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFp +bgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA +GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAACA +AwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAA +AQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQBy +AEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAE +4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAwADQAYgAw +AAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADUAZQA4AGMA +YgA3ADkAZgA4ADcAYQA1ADQAZQA2AGUAYgA2ADQAZAAyADcANQAyAGIAOAA0ADMAMwA0AGYAMQAA +ADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAAKAABAEkA +bgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANQBlADgAYwBiADcAOQBmADgANwBhADUANABl +ADYAZQBiADYANABkADIANwA1ADIAYgA4ADQAMwAzADQAZgAxAC4AZABsAGwAAABIABIAAQBMAGUA +ZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAgADIAMAAx +ADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8ANQBlADgA +YwBiADcAOQBmADgANwBhADUANABlADYAZQBiADYANABkADIANwA1ADIAYgA4ADQAMwAzADQAZgAx +AC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADUAZQA4AGMA +YgA3ADkAZgA4ADcAYQA1ADQAZQA2AGUAYgA2ADQAZAAyADcANQAyAGIAOAA0ADMAMwA0AGYAMQAA +ADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAA4AAgA +AQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAGA0AAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileHeader.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileHeader.dtsx new file mode 100644 index 0000000..134c4da --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch07/obj/Development/WriteFileHeader.dtsx @@ -0,0 +1,1563 @@ + + + 6 + + + @[$Package::ExtractFilePath] + + + + + + + + + + @[$Package::OutputFilePath] + + + + + + + + + + + + 0 + + + + + + 0 + + + , + + + + + + 1/1/1900 + + + + + + 0 + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + _ +Public Class Output0Buffer + Inherits ScriptBuffer + + Public Sub New(ByVal Buffer As PipelineBuffer, ByVal BufferColumnIndexes As Integer(), ByVal OutputMap As OutputNameMap) + MyBase.New(Buffer, BufferColumnIndexes, OutputMap) + End Sub + + Public WriteOnly Property [HeaderRow]() As String + Set + Me(0) = Value + End Set + End Property + Public WriteOnly Property [HeaderRow_IsNull] As Boolean + Set + If (value) + SetNull(0) + Else + Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.") + End If + End Set + End Property + + Public Overloads Sub AddRow() + MyBase.AddRow() + End Sub + + Public Overloads Sub SetEndOfRowset() + MyBase.SetEndOfRowset() + End Sub + + Public Overloads Function EndOfRowset() As Boolean + EndOfRowset = MyBase.EndOfRowset + End Function + +End Class +]]> + + + _ + _ +Public Class ScriptMain + Inherits UserComponent + +#Region "Help: Using Integration Services variables and parameters" + '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 component, according to whether or not your + 'code needs to write into the variable. To do so, save this script, close this instance of + 'Visual Studio, and update the ReadOnlyVariables and ReadWriteVariables properties. + 'To use a parameter in this script, follow the same steps. Parameters are always read-only. + + 'Example of reading from a variable or parameter: + ' startTime = Variables.MyStartTime; + + 'Example of writing to a variable: + ' Variables.myStringVariable = "new value"; +#End Region + +#Region "Help: Using Integration Services Connnection Managers" + 'Some types of connection managers can be used in this script component. See the help topic + '"Working with Connection Managers Programatically" for details. + + 'To use a connection manager in this script, first ensure that the connection manager has + 'been added to either the list of connection managers on the Connection Managers page of the + 'script component editor. To add the connection manager, save this script, close this instance of + ' Visual Studio, and add the Connection Manager to the list. + + 'If the component needs to hold a connection open while processing rows, override the + 'AcquireConnections and ReleaseConnections methods. + + 'Example of using an ADO.Net connection manager to acquire a SqlConnection: + ' Dim rawConnection As Object = Connections.SalesDB.AcquireConnection(Transaction) + ' Dim salesDBConn As SqlConnection = CType(rawConnection, SqlConnection) + + 'Example of using a File connection manager to acquire a file path: + ' Dim rawConnection As Object = Connections.Prices_zip.AcquireConnection(Transaction) + ' Dim filePath As String = CType(rawConnection, String) + + 'Example of releasing a connection manager: + ' Connections.SalesDB.ReleaseConnection(rawConnection) +#End Region + +#Region "Help: Firing Integration Services Events" + 'This script component can fire events. + + 'Example of firing an error event: + ' ComponentMetaData.FireError(10, "Process Values", "Bad value", "", 0, cancel) + + 'Example of firing an information event: + ' ComponentMetaData.FireInformation(10, "Process Values", "Processing has started", "", 0, fireAgain) + + 'Example of firing a warning event: + ' ComponentMetaData.FireWarning(10, "Process Values", "No rows were received", "", 0) + +#End Region + + 'This method is called once, before rows begin to be processed in the data flow. + ' + 'You can remove this method if you don't need to do anything here. + Public Overrides Sub PreExecute() + MyBase.PreExecute() + ' + ' Add your code here + ' + End Sub + + ' This method is called after all the rows have passed through this component. + ' + ' You can delete this method if you don't need to do anything here. + Public Overrides Sub PostExecute() + MyBase.PostExecute() + ' + ' Add your code here + ' + End Sub + + Public Overrides Sub CreateNewOutputRows() + + ' create header row... ' Get variable values... + Dim iRecordCount As Integer = Me.Variables.RecordCount + Dim sDelimiter As String = Me.Variables.Delimiter + Dim dAmountSum As Decimal = Convert.ToDecimal(Me.Variables.AmountSum) + Dim dtLastUpdateDateTime As DateTime = _ +Convert.ToDateTime(Me.Variables.LastUpdateDateTime) + + + Dim sHeaderRow As String = iRecordCount.ToString & sDelimiter & _ + dAmountSum.ToString & sDelimiter & _ + dtLastUpdateDateTime.ToString + + With Output0Buffer + .AddRow() + .HeaderRow = sHeaderRow + End With + End Sub + + +End Class +]]> + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + +]]> + + + _ +Public Class UserComponent + Inherits ScriptComponent + + Public Connections As New Connections(Me) + Public Variables As New Variables(Me) + + Public Output0Buffer As Output0Buffer + + Public Overridable Sub FinishOutputs() + End Sub + + Private Sub MarkOutputsFinished() + + If Output0Buffer IsNot Nothing Then + Output0Buffer.SetEndOfRowset + Output0Buffer = Nothing + End If + + End Sub + + Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap) + + For I As Integer = 0 To Outputs - 1 + If OutputIDs(I) = GetOutputID(OutputMap, "Output 0") Then + Output0Buffer = New Output0Buffer(Buffers(I), GetColumnIndexes(OutputIDs(I)), OutputMap) + End If + Next + + CreateNewOutputRows() + + FinishOutputs() + MarkOutputsFinished() + + End Sub + + Public Overridable Sub CreateNewOutputRows() + End Sub + +End Class + + _ +Public Class Connections + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + +End Class + + _ +Public Class Variables + + Dim ParentComponent As ScriptComponent + + _ + Public Sub New(ByVal Component As ScriptComponent) + ParentComponent = Component + End Sub + + Public ReadOnly Property [AmountSum]() As Decimal + Get + Return CType(ParentComponent.ReadOnlyVariables("AmountSum").GetValueWithContext(ScriptComponent.EvaluatorContext), Decimal) + End Get + End Property + + Public ReadOnly Property [Delimiter]() As String + Get + Return CType(ParentComponent.ReadOnlyVariables("Delimiter").GetValueWithContext(ScriptComponent.EvaluatorContext), String) + End Get + End Property + + Public ReadOnly Property [LastUpdateDateTime]() As DateTime + Get + Return CType(ParentComponent.ReadOnlyVariables("LastUpdateDateTime").GetValueWithContext(ScriptComponent.EvaluatorContext), DateTime) + End Get + End Property + + Public ReadOnly Property [RecordCount]() As Int32 + Get + Return CType(ParentComponent.ReadOnlyVariables("RecordCount").GetValueWithContext(ScriptComponent.EvaluatorContext), Int32) + End Get + End Property + +End Class +]]> + + + + + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class +]]> + + + + + + SC_a237edef9df74f2b8a8205ee88ed9225 + SC_a237edef9df74f2b8a8205ee88ed9225 + msBuild + {2F617985-8946-42ED-94DF-A6F118E7C957} + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {81B07C6A-B0C4-4D75-B250-C1D0D6CE8EE2} + Library + My Project + SC_a237edef9df74f2b8a8205ee88ed9225 + SC_a237edef9df74f2b8a8205ee88ed9225 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + + + + + + + + + + SSIS_SC110 + + + + +]]> + + + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace +]]> + + + + + + + + + SC_a237edef9df74f2b8a8205ee88ed9225 + VisualBasic + $Package::AmountSum,$Package::Delimiter,$Package::LastUpdateDateTime,$Package::RecordCount + + + + + 5181a970403965e5cfe17c3271a67b75 + Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost, Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L01.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L01.sql new file mode 100644 index 0000000..63da92c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L01.sql @@ -0,0 +1,26 @@ +USE [master]; +GO + +/* Check to see if the database already exists; if it does exist, do nothing */ +IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'PDW_Source_Example') +BEGIN + /* Create a database to experiment with */ + CREATE DATABASE [PDW_Source_Example] + ON PRIMARY + ( + NAME = N'PDW_Source_Example' + , FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PDW_Source_Example.mdf' + , SIZE = 1024MB + , MAXSIZE = UNLIMITED + , FILEGROWTH = 1024MB + ) + LOG ON + ( + NAME = N'PDW_Source_Example_log' + , FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PDW_Source_Example_log.ldf' + , SIZE = 256MB + , MAXSIZE = UNLIMITED + , FILEGROWTH = 256MB + ); +END +GO diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L02.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L02.sql new file mode 100644 index 0000000..fc83c3c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L02.sql @@ -0,0 +1,39 @@ +USE PDW_Source_Example; +GO + +/* Check to see if the partition function already exists; if it does, do nothing */ +IF NOT EXISTS (SELECT * FROM sys.partition_functions WHERE name = 'example_yearlyDateRange_pf') +BEGIN + /* Create your partition function */ + CREATE PARTITION FUNCTION example_yearlyDateRange_pf + (DATETIME) AS RANGE RIGHT + FOR VALUES('2010-01-01', '2011-01-01', '2012-01-01', '2013-01-01', '2014-01-01'); +END; + +/* Check to see if the partition scheme already exists; if it does, do nothing */ +IF NOT EXISTS (SELECT * FROM sys.partition_schemes WHERE name = 'example_yearlyDateRange_ps') +BEGIN + /* Associate your partition function with a partition scheme */ + CREATE PARTITION SCHEME example_yearlyDateRange_ps + AS PARTITION example_yearlyDateRange_pf ALL TO([Primary]); +END; + +/* Check to see if the table already exists; if it does, drop it */ +IF (SELECT OBJECT_ID('dbo.FactSales')) IS NOT NULL + DROP TABLE dbo.FactSales; + +/* Create a partitioned fact table to experiment with */ +CREATE TABLE PDW_Source_Example.dbo.FactSales ( + orderID INT IDENTITY(1,1) + , orderDate DATETIME + , customerID INT + , webID UNIQUEIDENTIFIER DEFAULT (NEWID()) + + CONSTRAINT PK_FactSales + PRIMARY KEY CLUSTERED + ( + orderDate + , orderID + ) +) ON example_yearlyDateRange_ps(orderDate); /* Comment out if you don't have Enterprise or Developer edition */ +-- ON [Primary]; /* Uncomment if you don't have Enterprise or Developer edition */ \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L03.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L03.sql new file mode 100644 index 0000000..85d22a1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L03.sql @@ -0,0 +1,23 @@ +/* Make sure we're starting with an empty table */ +TRUNCATE TABLE PDW_Source_Example.dbo.FactSales; + +/* Declare variables and initialize with an arbitrary date */ +DECLARE @startDate DATETIME = '2010-01-01'; + +/* Perform an iterative insert into the FactSales table */ +WHILE @startDate < GETDATE() +BEGIN + +INSERT INTO PDW_Source_Example.dbo.FactSales +(orderDate, customerID) + SELECT @startDate + , DATEPART(WEEK, @startDate) + DATEPART(HOUR, @startDate); + + /* Increment the date value by hour */ + SET @startDate = DATEADD(HOUR, 1, @startDate); + /* + Optionally, you can generate more test data by replacing HOUR with MINUTE or SECOND, i.e. + SET @startDate = DATEADD(SECOND, 1, @startDate); + */ + +END; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L04.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L04.sql new file mode 100644 index 0000000..3e11e6a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L04.sql @@ -0,0 +1,9 @@ +/* Retrieve sales for 2010 */ +SELECT + orderID + , orderDate + , customerID + , webID +FROM PDW_Source_Example.dbo.FactSales +WHERE orderDate >= '2010-01-01' + AND orderDate < '2011-01-01'; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L05.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L05.sql new file mode 100644 index 0000000..6e9d38d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L05.sql @@ -0,0 +1,9 @@ +/* Execute code from Nexus to create a new staging database in PDW */ +CREATE DATABASE StageDB_Example +WITH +( + AUTOGROW = ON + , REPLICATED_SIZE = 1 GB + , DISTRIBUTED_SIZE = 5 GB + , LOG_SIZE = 1 GB +); diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L06.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L06.sql new file mode 100644 index 0000000..1a5191b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L06.sql @@ -0,0 +1,6 @@ +USE PDW_Source_Example; +GO + +/* Execute in SSMS to estimate compression ratio */ +EXECUTE sp_estimate_data_compression_savings +'dbo', 'FactSales', NULL, NULL, 'PAGE'; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L07.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L07.sql new file mode 100644 index 0000000..6e9318c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L07.sql @@ -0,0 +1,21 @@ +/* Execute in Nexus to create a new destination database and table */ +CREATE DATABASE PDW_Destination_Example +WITH +( + REPLICATED_SIZE = 1 GB + , DISTRIBUTED_SIZE = 5 GB + , LOG_SIZE = 1 GB +); + +CREATE TABLE PDW_Destination_Example.dbo.FactSales +( + orderID INT + , orderDate DATETIME + , customerID INT + , webID CHAR(38) +) +WITH +( + CLUSTERED INDEX (orderDate) + , DISTRIBUTION = HASH (orderID) +); diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L08.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L08.sql new file mode 100644 index 0000000..1f778b5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L08.sql @@ -0,0 +1,9 @@ +/* Retrieve sales for 2011 */ +SELECT + orderID + , orderDate + , customerID + , webID +FROM PDW_Source_Example.dbo.FactSales +WHERE orderDate >= '2011-01-01' + AND orderDate < '2012-01-01'; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L09.sql b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L09.sql new file mode 100644 index 0000000..f784507 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch08/CH08_L09.sql @@ -0,0 +1,9 @@ +/* Retrieve sales for 2012 */ +SELECT + orderID + , orderDate + , customerID + , webID +FROM PDW_Source_Example.dbo.FactSales +WHERE orderDate >= '2012-01-01' + AND orderDate < '2013-01-01'; diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.cs b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.cs new file mode 100644 index 0000000..a8cbfef --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.cs @@ -0,0 +1,196 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.4961 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by xsd, Version=2.0.50727.3038. +// +namespace DesignPatterns.Samples { + using System.Xml.Serialization; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] + [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)] + public partial class Extract { + + private ExtractCustomer[] customersField; + + private System.DateTime dateField; + + private bool dateFieldSpecified; + + /// + [System.Xml.Serialization.XmlArrayItemAttribute("Customer", IsNullable=false)] + public ExtractCustomer[] Customers { + get { + return this.customersField; + } + set { + this.customersField = value; + } + } + + /// + [System.Xml.Serialization.XmlAttributeAttribute(DataType="date")] + public System.DateTime Date { + get { + return this.dateField; + } + set { + this.dateField = value; + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DateSpecified { + get { + return this.dateFieldSpecified; + } + set { + this.dateFieldSpecified = value; + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] + public partial class ExtractCustomer { + + private ExtractCustomerName nameField; + + private System.DateTime birthDateField; + + private bool birthDateFieldSpecified; + + private string genderField; + + private uint yearlyIncomeField; + + private bool yearlyIncomeFieldSpecified; + + private string keyField; + + /// + public ExtractCustomerName Name { + get { + return this.nameField; + } + set { + this.nameField = value; + } + } + + /// + [System.Xml.Serialization.XmlElementAttribute(DataType="date")] + public System.DateTime BirthDate { + get { + return this.birthDateField; + } + set { + this.birthDateField = value; + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool BirthDateSpecified { + get { + return this.birthDateFieldSpecified; + } + set { + this.birthDateFieldSpecified = value; + } + } + + /// + public string Gender { + get { + return this.genderField; + } + set { + this.genderField = value; + } + } + + /// + public uint YearlyIncome { + get { + return this.yearlyIncomeField; + } + set { + this.yearlyIncomeField = value; + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool YearlyIncomeSpecified { + get { + return this.yearlyIncomeFieldSpecified; + } + set { + this.yearlyIncomeFieldSpecified = value; + } + } + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] + public string Key { + get { + return this.keyField; + } + set { + this.keyField = value; + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")] + [System.SerializableAttribute()] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] + public partial class ExtractCustomerName { + + private string firstNameField; + + private string lastNameField; + + /// + public string FirstName { + get { + return this.firstNameField; + } + set { + this.firstNameField = value; + } + } + + /// + public string LastName { + get { + return this.lastNameField; + } + set { + this.lastNameField = value; + } + } + } +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.xsd b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.xsd new file mode 100644 index 0000000..dc9d5ff --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customer.xsd @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers-result.xml b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers-result.xml new file mode 100644 index 0000000..f6ad46a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers-result.xml @@ -0,0 +1,19 @@ + + + + 11000 + Jon + Yang + 1966-04-08 + M + 90000 + + + 11001 + Eugene + Huang + 1965-05-14 + M + 60000 + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xml b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xml new file mode 100644 index 0000000..8d9dfee --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xml @@ -0,0 +1,23 @@ + + + + + + Jon + Yang + + 1966-04-08 + M + 90000 + + + + Eugene + Huang + + 1965-05-14 + M + 60000 + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xsl b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xsl new file mode 100644 index 0000000..841e121 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/Customers.xsl @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/XmlReader.linq b/SQL Server 2012 Integration Services Design Patterns/Ch09/XmlReader.linq new file mode 100644 index 0000000..ac05d59 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/XmlReader.linq @@ -0,0 +1,41 @@ + + +void Main() +{ + foreach (var xdata in ( + from customer in StreamReader(@"C:\Users\mmasson\Desktop\Mesh\Design Patterns\XML\Customers.xml", "Customer") + select new + { + Key = Convert.ToInt32(customer.Attribute("Key").Value), + FirstName = customer.Element("Name").Element("FirstName").Value, + LastName = customer.Element("Name").Element("LastName").Value, + BirthDate = customer.Element("BirthDate").Value, + Gender = customer.Element("Gender").Value, + YearlyIncome = customer.Element("YearlyIncome").Value, + } + )) + { + Console.WriteLine(xdata); + } + +} + +static IEnumerable StreamReader(String filename, string elementName) +{ + using (XmlReader xr = XmlReader.Create(filename)) + { + xr.MoveToContent(); + + while (xr.Read()) //Reads the first element + { + while (xr.NodeType == XmlNodeType.Element && xr.Name == elementName) + { + XElement node = (XElement)XElement.ReadFrom(xr); + yield return node; + } + } + + xr.Close(); + } +} + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch09/main_xmlreader.cs b/SQL Server 2012 Integration Services Design Patterns/Ch09/main_xmlreader.cs new file mode 100644 index 0000000..d7a8d1f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch09/main_xmlreader.cs @@ -0,0 +1,105 @@ +/* Microsoft SQL Server Integration Services Script Component +* Write scripts using Microsoft Visual C# 2010. +* ScriptMain is the entry point class of the script.*/ + +using System; +using System.Data; +using Microsoft.SqlServer.Dts.Pipeline.Wrapper; +using Microsoft.SqlServer.Dts.Runtime.Wrapper; +using System.IO; +using System.Xml.Serialization; +using System.Xml; +using System.Collections.Generic; +using System.Xml.Linq; +using System.Linq; + +[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] +public class ScriptMain : UserComponent +{ + string pathToXmlFile; + + public override void AcquireConnections(object Transaction) + { + // Call the base class + base.AcquireConnections(Transaction); + + // The File Connection Manager's AcquireConnection() method returns us the path as a string. + pathToXmlFile = (string)Connections.CustomerFile.AcquireConnection(Transaction); + } + + public override void PreExecute() + { + // Call the base class + base.PreExecute(); + + // Make sure the file path exists + if (!File.Exists(pathToXmlFile)) + { + string errorMessage = string.Format("Source XML file does not exist. Path: {0}", pathToXmlFile); + bool bCancel; + ComponentMetaData.FireError(0, ComponentMetaData.Name, errorMessage, string.Empty, 0, out bCancel); + } + } + +public override void CreateNewOutputRows() +{ + foreach (var xdata in ( + from customer in StreamReader(pathToXmlFile, "Customer") + select new + { + Key = customer.Attribute("Key").Value, + FirstName = customer.Element("Name").Element("FirstName").Value, + LastName = customer.Element("Name").Element("LastName").Value, + BirthDate = customer.Element("BirthDate").Value, + Gender = customer.Element("Gender").Value, + YearlyIncome = customer.Element("YearlyIncome").Value, + } + )) + { + try + { + CustomersBuffer.AddRow(); + CustomersBuffer.Key = Convert.ToInt32(xdata.Key); + CustomersBuffer.FirstName = xdata.FirstName; + CustomersBuffer.LastName = xdata.LastName; + CustomersBuffer.BirthDate = Convert.ToDateTime(xdata.BirthDate); + CustomersBuffer.Gender = xdata.Gender; + CustomersBuffer.YearlyIncome = Convert.ToDecimal(xdata.YearlyIncome); + } + catch (Exception e) + { + string errorMessage = string.Format("Error retrieving data. Exception message: {0}", e.Message); + bool bCancel; + ComponentMetaData.FireError(0, ComponentMetaData.Name, errorMessage, string.Empty, 0, out bCancel); + } + } +} + +static IEnumerable StreamReader(String filename, string elementName) +{ + using (XmlReader xr = XmlReader.Create(filename)) + { + xr.MoveToContent(); + + while (xr.Read()) //Reads the first element + { + while (xr.NodeType == XmlNodeType.Element && xr.Name == elementName) + { + XElement node = (XElement)XElement.ReadFrom(xr); + yield return node; + } + } + + xr.Close(); + } +} + + public override void ReleaseConnections() + { + // Call the base class + base.ReleaseConnections(); + + // Release our connection + Connections.CustomerFile.ReleaseConnection(pathToXmlFile); + } +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch10/Chap10.txt b/SQL Server 2012 Integration Services Design Patterns/Ch10/Chap10.txt new file mode 100644 index 0000000..c0351de --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch10/Chap10.txt @@ -0,0 +1,21 @@ +// Figure 10-2. Multiconditional evaluation in expression language +(TestCase == 1) ? "Test case = Gas" : (TestCase == 2 ? "Test case = Liquid" : (TestCase == 3 ? +"Test case = Solid" : "Unknown Test Case")) + + + +// Figure 10-4: Dynamic file name using expression +"e:\\Data\\" ++ "Medicare_" ++ (DT_STR, 4, 1252)(DATEPART("Year", GETDATE())) ++ RIGHT("0" + (DT_STR, 2, 1252)(DATEPART("Month", GETDATE())), 2) ++ RIGHT("0" + (DT_STR, 2, 1252)(DATEPART("Day", GETDATE())), 2) ++ ".txt" + + + +// Unlabeled snippet in "Data Cleansing" section +(LEN(TRIM([Street_Address])) > 0) ? TRIM([Street_Address]) : (DT_WSTR, 100)NULL(DT_WSTR, 100) + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.database b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.database new file mode 100644 index 0000000..9a38eaf --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.database @@ -0,0 +1,13 @@ + + Chapter13 + Chapter13 + 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/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj new file mode 100644 index 0000000..fb0d81e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj @@ -0,0 +1,271 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + Chapter13.database + Chapter13.database + + + + + + + + {dcd9156e-b358-4e23-9220-c96da5d3bd93} + Chapter13 + 1 + 0 + 0 + + + 2012-05-14T15:23:20.5962685-07:00 + CONTOSO\user + MAIN + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAq0CiND0f+kyP+ehebGajUAAAAAACAAAAAAADZgAAwAAAABAAAAASU7O8AbrJxC9/Lcg4t9DgAAAAAASAAACgAAAAEAAAACTuDIfTUNzJWtU6+IQ1ZOCIAAAApTyFQkqAl7PQYJ54E4hUmG0+8k+OOc/31On0Ryhhno55OBWBlzXCgbWuLg4TyBdoWTcEVfro3+aHEGbs333F14lKlcjL+rvaHVeHWtElJrmtXqYzFe0xa6M3TSLv/sd2MuPNeCy9cBNg5HVKbxqeqRMrYzn0IjH/JQ6pYQQuKWbDZSi1gisb9BQAAACWpFtdLNS1ylcmroTVblaIxlsQLg== + 1 + + + + + + + + + + + + {F9997595-5D1E-4DAF-87C8-9834041844C6} + Merge + 1 + 0 + 2 + + + {AC4C40D6-A874-4553-8D1A-B1335C485334} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=.;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + . + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {7F5D641C-96ED-4585-AB1B-B14F37178C72} + SCD + 1 + 0 + 2 + + + {F705FCB2-FA17-4C45-BA62-3C2DE38FC9D8} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=.;Initial Catalog=AdventureWorksDW;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorksDW + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + . + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj.user new file mode 100644 index 0000000..790a6d1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.dtproj.user @@ -0,0 +1,15 @@ + + + + + Development + + + + false + true + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.sln b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.sln new file mode 100644 index 0000000..b18c191 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Chapter13.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "Chapter13", "Chapter13\Chapter13.dtproj", "{150D2733-6504-4430-955A-000B00A0ED5A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {150D2733-6504-4430-955A-000B00A0ED5A}.Development|Default.ActiveCfg = Development + {150D2733-6504-4430-955A-000B00A0ED5A}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/Merge.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch13/Merge.dtsx new file mode 100644 index 0000000..ca34e79 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Merge.dtsx @@ -0,0 +1,223 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch13/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch13/SCD.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch13/SCD.dtsx new file mode 100644 index 0000000..d7ca092 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch13/SCD.dtsx @@ -0,0 +1,3611 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + (DT_DBTIMESTAMP)(@[System::StartTime]) + (DT_DBTIMESTAMP)(@[System::StartTime]) + + + + + + + + + + + + + + + + + + + + + + + + + + (DT_DBTIMESTAMP)(@[System::StartTime]) + (DT_DBTIMESTAMP)(@[System::StartTime]) + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[DimProduct] + + + 1252 + false + 0 + false + false + + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + UPDATE [dbo].[DimProduct] SET [EndDate] = ? WHERE [ProductAlternateKey] = ? AND [EndDate] IS NULL + 1252 + + + + + + + + + + + + + + 65 + + + + + 65 + + + + + + + + + + + + + + + + + + + + + 0 + UPDATE [dbo].[DimProduct] SET [ArabicDescription] = ?,[ChineseDescription] = ?,[Weight] = ? WHERE [ProductAlternateKey] = ? AND [EndDate] IS NULL + 1252 + + + + + + + + + + + + + + + + 65 + + + + + 65 + + + + + 81 + + + + + 65 + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[DimProduct] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT [ArabicDescription], [ChineseDescription], [Class], [Color], [DaysToManufacture], [EndDate], [ProductAlternateKey], [StartDate], [Weight] FROM [dbo].[DimProduct] + [StartDate] IS NOT NULL AND [EndDate] IS NULL + false + true + + false + false + 1 + 1252 + + + + + + + + + + 2 + + + + + 2 + + + + + 4 + + + + + 4 + + + + + 3 + + + + + 1 + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductAlternateKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductSubcategoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[WeightUnitMeasureCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SizeUnitMeasureCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StandardCost]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FinishedGoodsFlag]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Color]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SafetyStockLevel]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ReorderPoint]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ListPrice]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Size]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SizeRange]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Weight]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[DaysToManufacture]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductLine]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[DealerPrice]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Class]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Style]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ModelName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[LargePhoto]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ChineseDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ArabicDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[HebrewDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ThaiDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StartDate]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EndDate]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Status]} + + + + + + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductAlternateKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductSubcategoryKey]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[WeightUnitMeasureCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SizeUnitMeasureCode]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SpanishProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchProductName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StandardCost]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FinishedGoodsFlag]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Color]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SafetyStockLevel]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ReorderPoint]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ListPrice]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Size]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[SizeRange]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Weight]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[DaysToManufacture]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ProductLine]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[DealerPrice]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Class]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Style]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ModelName]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[LargePhoto]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EnglishDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[FrenchDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ChineseDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ArabicDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[HebrewDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[ThaiDescription]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[StartDate]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[EndDate]} + + + + + #{Package\Data Flow Task\Union All.Outputs[Union All Output 1].Columns[Status]} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + SCDMetadata + <?xml version="1.0" encoding="utf-16"?> +<SCDWizardMetadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionID>{F21FD937-0DBD-489B-9594-52D5668FEC8C}</ConnectionID> + <TableName>[dbo].[DimProduct]</TableName> + <InputToColumnsCollection> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ArabicDescription]</IdentificationString> + <ColumnName>ArabicDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>ChangingAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ChineseDescription]</IdentificationString> + <ColumnName>ChineseDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>ChangingAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Class]</IdentificationString> + <ColumnName>Class</ColumnName> + <KeyType>None</KeyType> + <ChangeType>FixedAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Color]</IdentificationString> + <ColumnName>Color</ColumnName> + <KeyType>None</KeyType> + <ChangeType>FixedAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[DaysToManufacture]</IdentificationString> + <ColumnName>DaysToManufacture</ColumnName> + <KeyType>None</KeyType> + <ChangeType>HistoricalAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[DealerPrice]</IdentificationString> + <ColumnName>DealerPrice</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[EndDate]</IdentificationString> + <ColumnName>EndDate</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[EnglishDescription]</IdentificationString> + <ColumnName>EnglishDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[EnglishProductName]</IdentificationString> + <ColumnName>EnglishProductName</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[FinishedGoodsFlag]</IdentificationString> + <ColumnName>FinishedGoodsFlag</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[FrenchDescription]</IdentificationString> + <ColumnName>FrenchDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[FrenchProductName]</IdentificationString> + <ColumnName>FrenchProductName</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[HebrewDescription]</IdentificationString> + <ColumnName>HebrewDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[LargePhoto]</IdentificationString> + <ColumnName>LargePhoto</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ListPrice]</IdentificationString> + <ColumnName>ListPrice</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ModelName]</IdentificationString> + <ColumnName>ModelName</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ProductAlternateKey]</IdentificationString> + <ColumnName>ProductAlternateKey</ColumnName> + <KeyType>BusinessKey</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ProductLine]</IdentificationString> + <ColumnName>ProductLine</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ProductSubcategoryKey]</IdentificationString> + <ColumnName>ProductSubcategoryKey</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ReorderPoint]</IdentificationString> + <ColumnName>ReorderPoint</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[SafetyStockLevel]</IdentificationString> + <ColumnName>SafetyStockLevel</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Size]</IdentificationString> + <ColumnName>Size</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[SizeRange]</IdentificationString> + <ColumnName>SizeRange</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[SizeUnitMeasureCode]</IdentificationString> + <ColumnName>SizeUnitMeasureCode</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[SpanishProductName]</IdentificationString> + <ColumnName>SpanishProductName</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[StandardCost]</IdentificationString> + <ColumnName>StandardCost</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[StartDate]</IdentificationString> + <ColumnName>StartDate</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Status]</IdentificationString> + <ColumnName>Status</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Style]</IdentificationString> + <ColumnName>Style</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[ThaiDescription]</IdentificationString> + <ColumnName>ThaiDescription</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[Weight]</IdentificationString> + <ColumnName>Weight</ColumnName> + <KeyType>None</KeyType> + <ChangeType>ChangingAttribute</ChangeType> + </InputColumnToDBColumn> + <InputColumnToDBColumn> + <IdentificationString>OLE DB Source.Outputs[OLE DB Source Output].Columns[WeightUnitMeasureCode]</IdentificationString> + <ColumnName>WeightUnitMeasureCode</ColumnName> + <KeyType>None</KeyType> + <ChangeType>None</ChangeType> + </InputColumnToDBColumn> + </InputToColumnsCollection> + <GeneratedComponentsIdentificationStrings> + <anyType xsi:type="xsd:string">Derived Column</anyType> + <anyType xsi:type="xsd:string">OLE DB Command</anyType> + <anyType xsi:type="xsd:string">Union All</anyType> + <anyType xsi:type="xsd:string">Derived Column 1</anyType> + <anyType xsi:type="xsd:string">Insert Destination</anyType> + <anyType xsi:type="xsd:string">OLE DB Command 1</anyType> + </GeneratedComponentsIdentificationStrings> + <FailFixedAttribute>true</FailFixedAttribute> + <FailChangeAttribute>false</FailChangeAttribute> + <UseStartEndDate>true</UseStartEndDate> + <CurrentIndicatorColumn /> + <InferredIndicatorColumn /> + <ValueCurrent /> + <ValueExpired /> + <StartDateColumn>StartDate</StartDateColumn> + <EndDateColumn>EndDate</EndDateColumn> + <DateVariable>System::StartTime</DateVariable> + <EnableInferredSupport>false</EnableInferredSupport> +</SCDWizardMetadata> + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.sln b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.sln new file mode 100644 index 0000000..8c8faaf --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "CloudLoader", "CloudLoader\CloudLoader.dtproj", "{999A9CA9-1679-4DA0-BC06-FA35DE1D6744}" +EndProject +Global + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 2 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = http://vmsql2012e:8080/tfs/data%20integration%20project%20collection + SccLocalPath0 = . + SccProjectUniqueName1 = CloudLoader\\CloudLoader.dtproj + SccProjectName1 = CloudLoader + SccLocalPath1 = CloudLoader + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {999A9CA9-1679-4DA0-BC06-FA35DE1D6744}.Development|Default.ActiveCfg = Development + {999A9CA9-1679-4DA0-BC06-FA35DE1D6744}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.vssscc b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.vssscc new file mode 100644 index 0000000..6cb031b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader.vssscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT" +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.database b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.database new file mode 100644 index 0000000..cb7ad26 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.database @@ -0,0 +1,13 @@ + + CloudLoader + CloudLoader + 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/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj new file mode 100644 index 0000000..c8763f1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj @@ -0,0 +1,627 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD50cnVlPC9FbmFibGVkPg0KICA8UHJvamVjdE5hbWU+U0FLPC9Qcm9qZWN0TmFtZT4NCiAgPEF1eFBhdGg+U0FLPC9BdXhQYXRoPg0KICA8TG9jYWxQYXRoPlNBSzwvTG9jYWxQYXRoPg0KICA8UHJvdmlkZXI+U0FLPC9Qcm92aWRlcj4NCjwvU291cmNlQ29udHJvbEluZm8+ + + CloudLoader.database + CloudLoader.database + + + + + + + + {269b6ffb-4e44-475f-a445-10ce57bdf859} + CloudLoader + 1 + 0 + 0 + + + 2012-03-24T10:25:24.618089-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAbktffIHTdke86Vlq3tUs0wAAAAACAAAAAAAQZgAAAAEAACAAAAD98GvZTsT66wsZYkx+04VL6RQ5xwj0Iw/r7t8YgneKKQAAAAAOgAAAAAIAACAAAABhDianEXa6rT3kzyou5r2Hh7eIx6Fl9JMQ9DcP1mouDZAAAACM1iMBdEG9IJlnAbjeK4gLAfHtMCQ4Zc6dUYMYZjMpJ4wA0jevfx6DTzdxhp9O8CZQz/u2SINyTnDnZFBBxVYWINHpCkLiOyuw/7fI1FF/owvB5wuL8Xt8PI77MxSaRM5rT7zRg/HwhFzr6hve9XRBDiDGd0ND800uniwf1EHjyOmgpJqmQvnOxSvJR/5hXUlAAAAAcL5lPIC3I3CzQURK94O4u/pf6Oow91yKygj0EIjU9HFSEWtgQUEk0efRNdcspuska8bBlo4jaPKXvM95LVdEKw== + 1 + + + + + + + + + + + + {9DFB0B71-798B-4949-87CE-07AC70A60FEE} + OldCloudLoader + 1 + 0 + 44 + + + {FAFA2063-115D-4639-9007-16E4DC1C377C} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=mjnls1cpwt.database.windows.net;User ID=aleonard763@mjnls1cpwt.database.windows.net;Initial Catalog=AndyWeather;Provider=SQLNCLI11;Persist Security Info=True;Auto Translate=False;Application Name=SSISAzure; + 18 + + + + + + + + + + + 0 + 0 + 0 + AndyWeather + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + mjnls1cpwt.database.windows.net + 18 + + + + + + + + + + + 0 + 0 + 0 + aleonard763@mjnls1cpwt.database.windows.net + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=andyweather611.db.7992101.hostedresource.com;User ID=andyweather611;Initial Catalog=andyweather611;Persist Security Info=True;Application Name=SSIS-Package-{5D9A5212-57D3-420C-ACAC-ACA4B9A6CE46}andyweather611.db.7992101.hostedresource.com.andyweather611.andyweather611; + 18 + + + + + + + + + + + 0 + 0 + 0 + andyweather611 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + andyweather611.db.7992101.hostedresource.com + 18 + + + + + + + + + + + 0 + 0 + 0 + andyweather611 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=andyweather611.db.7992101.hostedresource.com;User ID=andyweather611;Initial Catalog=andyweather611;Provider=SQLNCLI11;Persist Security Info=True;Auto Translate=False;Application Name=SSIS-Package-{3451730F-873C-4B3F-A2AF-1F33C1A9CDA6}andyweather611.db.7992101.hostedresource.com.andyweather611.andyweather611; + 18 + + + + + + + + + + + 0 + 0 + 0 + andyweather611 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + andyweather611.db.7992101.hostedresource.com + 18 + + + + + + + + + + + 0 + 0 + 0 + andyweather611 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=mjnls1cpwt.database.windows.net;User ID=aleonard763;Initial Catalog=AndyWeather;Persist Security Info=True;Application Name=SSISAzure; + 18 + + + + + + + + + + + 0 + 0 + 0 + AndyWeather + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + mjnls1cpwt.database.windows.net + 18 + + + + + + + + + + + 0 + 0 + 0 + aleonard763 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=vmSQL2012E;Initial Catalog=WeatherData;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;Application Name=SSIS.SSISAzure; + 18 + + + + + + + + + + + 0 + 0 + 0 + WeatherData + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + vmSQL2012E + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {21395F61-0A36-42E9-BA23-21F5F91C997D} + SimpleCloudLoader + 1 + 0 + 6 + + + {B804D2FE-258E-4312-984A-5F8150334EEA} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISConfig;Integrated Security=True;Application Name=SSIS-SimpleCloudLoader-{8861674F-9C14-48F7-AC6C-77A7C33ED9FE}(local).SSISConfig; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISConfig + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.user new file mode 100644 index 0000000..790a6d1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.user @@ -0,0 +1,15 @@ + + + + + Development + + + + false + true + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.vspscc b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.vspscc new file mode 100644 index 0000000..b6d3289 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/CloudLoader.dtproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/SimpleCloudLoader.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/SimpleCloudLoader.dtsx new file mode 100644 index 0000000..2059dad --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch14/CloudLoader/CloudLoader/SimpleCloudLoader.dtsx @@ -0,0 +1,110 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns.sln b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns.sln new file mode 100644 index 0000000..1fc4158 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "DesignPatterns", "DesignPatterns\DesignPatterns.dtproj", "{3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.ActiveCfg = Development + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Ch15_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Ch15_Reporting.dtsx new file mode 100644 index 0000000..87bf32c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Ch15_Reporting.dtsx @@ -0,0 +1,897 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Person].[Address] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.database b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.database new file mode 100644 index 0000000..f116f72 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.database @@ -0,0 +1,13 @@ + + DesignPatterns + DesignPatterns + 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/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj new file mode 100644 index 0000000..644f0ee --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj @@ -0,0 +1,170 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAACPVXtrgZmEtUo1EKCAaIz1WJh8pFwEct7cHqJaFdlRzgAAAAAOgAAAAAIAACAAAACRwTxft7NY/ZRFnnaGdx+qXTwOnsmhvL0HZ59wj/aJD5AAAAADAVndKz4mtKKRyjrfF2Ue/Mn/a96KVqQJKQEqmDMFI9+YKsTwbdm4pMz2suaPcnZBRc1CwOaFlIjgjQYAYFKYAL7RZ7hc/VJBdnIItNNoHSlGaTmVz2vdGkOlGfWOdzRHidOFP/1bXnpjHV2TzFiMVcFgFS9MvMnhSqmkrY8klDuAAVO+F1U8TFo9wFDwJzBAAAAAFvRRw0E5wSZzOVwozlXmUY1gHv4UEe1JuiuAi70OhcmMgFF+8jgSI9k7M4XFqUUZTQGaqO2keP0F+0tB/+4UCg== + 1 + + + + + + + + + + + {8A428D78-C6F9-49BC-9AB2-6ECD0758CEFF} + Ch15_Reporting + 1 + 0 + 5 + + + {23763094-00F8-4ECD-9B72-2788F30634EC} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj.user new file mode 100644 index 0000000..69fb4ec --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/DesignPatterns.dtproj.user @@ -0,0 +1,23 @@ + + + + + Development + + SQLServer2012 + /SSISDB/DesignPatterns/DesignPatterns + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/DesignPatterns.ispac new file mode 100644 index 0000000..312fdc5 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/Development/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/Development/DesignPatterns.ispac new file mode 100644 index 0000000..d86fb67 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/bin/Development/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/BuildLog.xml new file mode 100644 index 0000000..ab97522 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/BuildLog.xml @@ -0,0 +1,45 @@ + + + + DesignPatterns + 2012-06-25T19:36:41.2078776Z + EncryptSensitiveWithUserKey + + + + Ch04_SQLServerSource.dtsx + 2012-06-18T09:25:50.4593857Z + EncryptSensitiveWithUserKey + + + Ch06_DB2Source.dtsx + 2012-06-25T17:02:23.5032626Z + EncryptSensitiveWithUserKey + + + ChildPackage.dtsx + 2012-06-25T19:58:43.0512394Z + EncryptSensitiveWithUserKey + + + ChildPackage2.dtsx + 2011-12-17T23:33:56Z + EncryptSensitiveWithUserKey + + + Ch15_Reporting.dtsx + 2012-06-13T15:52:51.2225871Z + EncryptSensitiveWithUserKey + + + Ch16_DynamicChild.dtsx + 2012-06-25T20:01:42.8636152Z + EncryptSensitiveWithUserKey + + + Ch16_ParentChild.dtsx + 2012-06-25T20:04:20.6143222Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx new file mode 100644 index 0000000..8d6ca0a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx @@ -0,0 +1,595 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + "EXEC GetCustomerData '" + (DT_STR, 29, 1252)@[System::ContainerStartTime] + "'" + + + + + + EXEC GetCustomerData '6/25/2012 12:22:40 PM' + 30 + true + + 2 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + true + + 0 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx new file mode 100644 index 0000000..c11632f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx @@ -0,0 +1,200 @@ + + + 6 + + + + + + + + + + + + + + + dev + + + “select col1, col2 from ” + @environment + “.tab1” + + + + + + + + + + + 0 + + + select * from table where col = ? + User::query + 1252 + false + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch15_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch15_Reporting.dtsx new file mode 100644 index 0000000..ee7c661 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch15_Reporting.dtsx @@ -0,0 +1,897 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Person].[Address] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx new file mode 100644 index 0000000..02910a2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx @@ -0,0 +1,206 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx new file mode 100644 index 0000000..7b30947 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx @@ -0,0 +1,672 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx new file mode 100644 index 0000000..d78c2f2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx @@ -0,0 +1,196 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx new file mode 100644 index 0000000..32eb9e2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx @@ -0,0 +1,654 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + <PrecedenceConstraint xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:EvalOp>Constraint</dwd:EvalOp></PrecedenceConstraint> + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch19_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch19_Reporting.dtsx new file mode 100644 index 0000000..b71ada4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Ch19_Reporting.dtsx @@ -0,0 +1,315 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage.dtsx new file mode 100644 index 0000000..d72c0dd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage.dtsx @@ -0,0 +1,627 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojOnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + {7D71675E-396A-4F28-AA69-9671D797C828} + st_7c0cdb9ce385443ab3758f73c6a96fa3 + st_7c0cdb9ce385443ab3758f73c6a96fa3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the parent package is: " & _ + Dts.Variables("$Package::ParentPackageName").Value.ToString) + Dts.Variables("User::ChildFileName").Value = "SalesFile.txt" + Dts.TaskResult = ScriptResults.Success + End Sub + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAO/C6E8AAAAAAAAAAOAAAiELAQgAABwAAAAIAAAAAAAAnjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAFA6AABLAAAAAEAAABgEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAApBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAABgEAAAAQAAAAAYAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAJAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACA +OgAAAAAAAEgAAAACAAUA1CMAAHwWAAABAAAAAAAAABkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAF0AAAAAAAAAcjMAAHACbyUAAApvJgAACnJ7AABwbycAAApvKAAACm8VAAAKKCkAAAoW +FCgqAAAKJgJvJQAACm8mAAAKcrMAAHBvJwAACnLbAABwbysAAAoCbyUAAAoWbywAAAoqtAAAAM7K +774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVy +c2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkz +NGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQ +QURQtAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANAHAAAjfgAAPAgA +AJAJAAAjU3RyaW5ncwAAAADMEQAA+AAAACNVUwDEEgAAEAAAACNHVUlEAAAA1BIAAKgDAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADkAAAAC +AAAANgAAAA4AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABhCQEA +AAAAAAoAYAE2AQoAlAF2AQYApAGdAQoA/AE2AQYAegKdAQoA/ALSAgYAMgMhAwYAXwNKAw4AxgOx +AxIARQQcBAYAZgSdAQ4AmQSDBA4AsgSDBA4A3wTHBAYACQX2BAoASAUhBQoAYAUTAA4AlQV4BQYA +ygWqBQYA6AWdAQYADAadAQoAJQYTAAYAaQZKBgYAjwZ9BgYAtgalBgYAyQb2BBIA5gYcBBYAPwcf +BxYAVwcfBwYAaQedAQoAdwcTAAoAgwcTAAoAkAcTAAYAsgedARIAyAccBAYAKQiqBQYASQiqBQYA +gQhnCAYAmgh9BgYAtwhKBgYAxQh9BgYA4Ah9BgYA+wh9BgYAFAl9BgYALQl9BgYASgl9BgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZQA3AAkAAQACAAABEABwADcADQABAAMABQEAAHoA +AAANAAUACAAFAQAAiAAAAA0ABQAPAAAAAACjAK8ADQAGABEAAAEQAOcA8gAlAAgAFQABAAAAHQHy +ACkACgAYAAIBAAAoAQAALQAKABoAMQC/ASAAMQDoAS0AMQAKAjoAMQAvAkcAIQALA5AAEQBCA50A +EQBrA6EAEQDeA78AEQDmA8MABgZrBNkAVoBzBNwAVoB7BNwAUCAAAAAABhhwARMAAQBYIAAAAAAG +GHABEwABAGAgAAAAABEYqwEXAAEAjCAAAAAAEwiyARsAAQCkIAAAAAATCNgBKAABALwgAAAAABMI +AQI1AAEA1CAAAAAAEwgfAkIAAQDsIAAAAABGAmUCYwABAAghAAAAAEYCbgJoAAIAHCEAAAAAgwB/ +AmwAAgA0IQAAAABGAocCcQACAEghAAAAABEAkAJ4AAIAZCEAAAAAAQCuAoAAAwCAIQAAAAAGGHAB +EwAEAIghAAAAAAMIwgKLAAQAvCEAAAAABhhwARMABADQIQAAAAADGHABEwAEANghAAAAABYIdwOl +AAQAFCIAAAAAFgiLA6oABAAoIgAAAAAWCJcDrwAEADAiAAAAABEYqwEXAAUARCIAAAAABhhwARMA +BQBMIgAAAAAWCPMDxgAFAKgiAAAAAAYYcAETAAUAsCIAAAAABgBhBBMABQAAAAEAbAIAAAEApQIA +AAEApQIAAAEAowMJAHABEwBhAHAB6gBxAHAB+QARAHABEwB5AHABEwAkAHABEwAsAHABEwA0AHAB +EwA8AHABEwAkAMICiwAsAMICiwA0AMICiwA8AMICiwCBAHABEwCJAHABEwCRAHABSAGZANkFkwEZ +AGUCYwAZAG4CaAApAPoFoAEZAIcCcQCpABYGsAEZAHABEwCxAHABwAFEAAsDkABMAPMDiwBMAEAG +PQJMAHABEwC5AHABTAIpAJgGVwI5AHABXAJJAHABEwDJAL4GeALJAMQGeALRAHABEwBRAHABEwBR +APgGggLZAEkHhwLhAGAHjALpAPMDkgLxAHAHlgL5AJwHnALpAEAGpwLZAKMHrAIRAXABTAIZAXAB +EwAhAXABrAIpAXABEwAxAXABSAE5AXABSAFBAXABSAFJAXABSAFRAXABSAFZAXABSAFhAXABSAFp +AXABSAFxAXABSAEIACwA4AAIADAA5QApAIMAbgEuALsBUQIuAMsBdQMuALMBdQMuAIMBugIuAKsB +XgMuAMMBUQIuAHsBsQIuAIsB2QIuAJMBIQMuAJsBLgMuAOsAUQIuAGsBWAMuAKMBUQJAACsA5QBA +ABMA8ABDABsA/wBDABMA8ABJAIMAWgFjABsA/wBjABMA8ABpAIMATQGAACsA5QCDAHMA5QCDAHsA +5QCDABsA/wCJAIMAfwGgACsA5QCjABMA8ACjAMMAyAHAACsA5QDDAOsAUQLDABMA8ADJABMAbwLg +ACsA5QDpABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsBUQIjAXMB5QBAASsA +5QBAARMA8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAisA5QAA +AhMA8AA0ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CBAABAAYABQAHAAYACAAIAAAAlAFPAAAA +TQJUAAAA/AFZAAAAWQJeAAAAFQOYAAAAMgO1AAAAqQO6AAAAowPLAAIABAADAAIABQAFAAIABgAH +AAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIABgBHwEmAS0BKgIxAgSA +AAABAAAAAAAAAAAAAAAAAPIAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAA +AAAABAAAAAAAAAAAAAAAAQCdAQAAAAALAAAAAAAAAAAAAADQAP0DAAAAAAsAAAAAAAAAAAAAANAA +AAcAAAAAAAAAAAEAAADqBwAABQAEAAYABAAKAAkAAAAQAAwAowIAABAAGQCjAgAAAAAbAKMCLQC2 +AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxp +Y2F0aW9uAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5NeQBNeUNv +bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx +AE15UmVzb3VyY2VzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5N +eS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83YzBjZGI5Y2UzODU0NDNhYjM3NThmNzNjNmE5NmZh +My52YnByb2oAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B +cHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFs +QmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIA +bV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3Zp +ZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1f +TXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFs +cwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18A +VABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQA +R2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0 +ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5h +Z2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3Vy +YXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1Zh +bHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVyLkR0 +cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVudW0A +dmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz +YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl +cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl +bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy +ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50 +TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy +U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA +R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0 +aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t +VmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkA +U3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0 +dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFu +YWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRfVmFy +aWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNnQm94 +UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRBdHRy +aWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0 +M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9u +UmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVt +LlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxl +VmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRl +AEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3Nl +bWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJs +eVRpdGxlQXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +ai5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAA +R1QAaABlACAAbgBhAG0AZQAgAG8AZgAgAHQAaABlACAAcABhAHIAZQBuAHQAIABwAGEAYwBrAGEA +ZwBlACAAaQBzADoAIAAANyQAUABhAGMAawBhAGcAZQA6ADoAUABhAHIAZQBuAHQAUABhAGMAawBh +AGcAZQBOAGEAbQBlAAAnVQBzAGUAcgA6ADoAQwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAG1MA +YQBsAGUAcwBGAGkAbABlAC4AdAB4AHQAAACcewXrhPsLSIkYZg19gFTGAAi3elxWGTTgiQiwP19/ +EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH +BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH +MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId +BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGCAMGESgEAAAAAAQBAAAABSABARE1CAEA +AQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAES +EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEODAEAB015LlVzZXIAABMBAA5NeS5BcHBs +aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMH +AQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIu +U2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5j +ZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwAT +ABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQHARIg +BCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEcEYCFHAQgAQEcBCABAQgIAQAIAAAAAAAe +AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12 +NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAA +ACkBACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5 +cmlnaHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZi +cHJvagAAAAAAeDoAAAAAAAAAAAAAjjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6AAAAAAAA +AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAMADAAAAAAAAAAAAAMADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQgAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAD8AgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAIAALwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANwBjADAA +YwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAz +AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcA +aAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQAxAAAAiAAvAAEATwByAGkAZwBp +AG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQA +NAAzAGEAYgAzADcANQA4AGYANwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAC4AZABs +AGwAAAAAAHgAKwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBjADAAYwBkAGIA +OQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAzAC4AdgBi +AHAAcgBvAGoAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A +MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw +AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAACgOgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage2.dtsx new file mode 100644 index 0000000..89aca52 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/ChildPackage2.dtsx @@ -0,0 +1,20 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/DesignPatterns.dtproj new file mode 100644 index 0000000..0d31105 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/DesignPatterns.dtproj @@ -0,0 +1,907 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAAA8DUfU/PhrxbD1//FFKaOIp5nOVyaHQ4ld5aTVW3un6AAAAAAOgAAAAAIAACAAAADgG3WXwUGuRZH+nxApnukwZWsd53+an0JbjetczzuDbpAAAADKUDmOkbtBEMuEaw29hMAcPwXJ4TcCDIPEaE8ozYBhkgTKkmSrm+ak8Xmr3ObkKR7jqXwWeza3UBg04gm+HARtU4XIaeqsUIla8TNzoLM9wDFBBekvssfaKFacRKMixR3CsK8P9vaY9RPkhosiE8VlCrr4qHiShEO1Vvo1KhYDHQ9p6L+QppVwk++3A3t2ZfFAAAAAj3wyM5oWQzsDdqKInwKrZw2HN0hUJCOX3EL6kSLTIlbosDnYkVqIagt5e15D3XjT7FmD50JVv6qHR1YcgxYALg== + 1 + + + + + + + + + + + + + + + + + {AABC1CB8-134F-4CC4-A55A-A50662A0E35E} + Ch04_SQLServerSource + 1 + 0 + 17 + + + {7E5140E7-939A-441F-93E7-294E23445FB6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True;Application Name=SSIS-Ch04_SQLServerSource-{05557967-093E-42C7-8066-FD23F089DE2B}localhost.AdventureWorks2008R21; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + server=localhost;Driver={SQL Server Native Client 11.0};database=AdventureWorks;trusted_connection=yes; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FA04F5FC-0E36-46BD-9F71-339AD3F2B3DF} + Ch06_DB2Source + 1 + 0 + 13 + + + {C304BC0C-EA52-4495-BDF7-CAACB2D8D3F7} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Provider=DB2OLEDB;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=JMMCONSULTING;Provider=DB2OLEDB;Integrated Security=SSPI;Derive Parameters=True; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + JMMCONSULTING + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3A931EA6-C434-4506-A3BB-10DEE6C06F96} + ChildPackage + 1 + 0 + 11 + + + {7ABCA381-247E-4172-9332-A8B365F300C7} + 6 + + + 1 + + + + + {548BA81E-8103-4773-AD3A-C1251C30ACD6} + + + + + 0 + 0 + 0 + 18 + + + + + + + {39B8105F-2B83-4ABB-AF46-01F8854D91EE} + ChildPackage2 + 1 + 0 + 1 + + + {E3299FB5-7647-41B9-8206-E5A4900B4B92} + 5 + + + 1 + + + + + + {8A428D78-C6F9-49BC-9AB2-6ECD0758CEFF} + Ch15_Reporting + 1 + 0 + 5 + + + {23763094-00F8-4ECD-9B72-2788F30634EC} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {786ECD14-B8E3-4175-B96E-71A921B79199} + Ch16_DynamicChild + 1 + 0 + 16 + + + {066CF370-BEB1-490E-BE69-D4D49872882B} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=DesignPatterns;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + DesignPatterns + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3075A053-CF1E-4729-8FFC-EB0B595F1F74} + Ch16_ParentChild + 1 + 0 + 19 + + + {2B5CAEB7-9BB6-4A5B-9B9D-B50F052775C7} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch15/DesignPatterns/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns.sln b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns.sln new file mode 100644 index 0000000..1fc4158 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "DesignPatterns", "DesignPatterns\DesignPatterns.dtproj", "{3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.ActiveCfg = Development + {3B2DEA03-D529-4624-BA8E-E8BB6486CF0B}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_DynamicChild.dtsx new file mode 100644 index 0000000..d0b2ff1 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_DynamicChild.dtsx @@ -0,0 +1,206 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_ParentChild.dtsx new file mode 100644 index 0000000..4b990ae --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Ch16_ParentChild.dtsx @@ -0,0 +1,672 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage.dtsx new file mode 100644 index 0000000..d7d2133 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage.dtsx @@ -0,0 +1,627 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojOnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + {7D71675E-396A-4F28-AA69-9671D797C828} + st_7c0cdb9ce385443ab3758f73c6a96fa3 + st_7c0cdb9ce385443ab3758f73c6a96fa3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the parent package is: " & _ + Dts.Variables("$Package::ParentPackageName").Value.ToString) + Dts.Variables("User::ChildFileName").Value = "SalesFile.txt" + Dts.TaskResult = ScriptResults.Success + End Sub + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAO/C6E8AAAAAAAAAAOAAAiELAQgAABwAAAAIAAAAAAAAnjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAFA6AABLAAAAAEAAABgEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAApBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAABgEAAAAQAAAAAYAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAJAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACA +OgAAAAAAAEgAAAACAAUA1CMAAHwWAAABAAAAAAAAABkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAF0AAAAAAAAAcjMAAHACbyUAAApvJgAACnJ7AABwbycAAApvKAAACm8VAAAKKCkAAAoW +FCgqAAAKJgJvJQAACm8mAAAKcrMAAHBvJwAACnLbAABwbysAAAoCbyUAAAoWbywAAAoqtAAAAM7K +774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVy +c2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkz +NGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQ +QURQtAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANAHAAAjfgAAPAgA +AJAJAAAjU3RyaW5ncwAAAADMEQAA+AAAACNVUwDEEgAAEAAAACNHVUlEAAAA1BIAAKgDAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADkAAAAC +AAAANgAAAA4AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABhCQEA +AAAAAAoAYAE2AQoAlAF2AQYApAGdAQoA/AE2AQYAegKdAQoA/ALSAgYAMgMhAwYAXwNKAw4AxgOx +AxIARQQcBAYAZgSdAQ4AmQSDBA4AsgSDBA4A3wTHBAYACQX2BAoASAUhBQoAYAUTAA4AlQV4BQYA +ygWqBQYA6AWdAQYADAadAQoAJQYTAAYAaQZKBgYAjwZ9BgYAtgalBgYAyQb2BBIA5gYcBBYAPwcf +BxYAVwcfBwYAaQedAQoAdwcTAAoAgwcTAAoAkAcTAAYAsgedARIAyAccBAYAKQiqBQYASQiqBQYA +gQhnCAYAmgh9BgYAtwhKBgYAxQh9BgYA4Ah9BgYA+wh9BgYAFAl9BgYALQl9BgYASgl9BgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZQA3AAkAAQACAAABEABwADcADQABAAMABQEAAHoA +AAANAAUACAAFAQAAiAAAAA0ABQAPAAAAAACjAK8ADQAGABEAAAEQAOcA8gAlAAgAFQABAAAAHQHy +ACkACgAYAAIBAAAoAQAALQAKABoAMQC/ASAAMQDoAS0AMQAKAjoAMQAvAkcAIQALA5AAEQBCA50A +EQBrA6EAEQDeA78AEQDmA8MABgZrBNkAVoBzBNwAVoB7BNwAUCAAAAAABhhwARMAAQBYIAAAAAAG +GHABEwABAGAgAAAAABEYqwEXAAEAjCAAAAAAEwiyARsAAQCkIAAAAAATCNgBKAABALwgAAAAABMI +AQI1AAEA1CAAAAAAEwgfAkIAAQDsIAAAAABGAmUCYwABAAghAAAAAEYCbgJoAAIAHCEAAAAAgwB/ +AmwAAgA0IQAAAABGAocCcQACAEghAAAAABEAkAJ4AAIAZCEAAAAAAQCuAoAAAwCAIQAAAAAGGHAB +EwAEAIghAAAAAAMIwgKLAAQAvCEAAAAABhhwARMABADQIQAAAAADGHABEwAEANghAAAAABYIdwOl +AAQAFCIAAAAAFgiLA6oABAAoIgAAAAAWCJcDrwAEADAiAAAAABEYqwEXAAUARCIAAAAABhhwARMA +BQBMIgAAAAAWCPMDxgAFAKgiAAAAAAYYcAETAAUAsCIAAAAABgBhBBMABQAAAAEAbAIAAAEApQIA +AAEApQIAAAEAowMJAHABEwBhAHAB6gBxAHAB+QARAHABEwB5AHABEwAkAHABEwAsAHABEwA0AHAB +EwA8AHABEwAkAMICiwAsAMICiwA0AMICiwA8AMICiwCBAHABEwCJAHABEwCRAHABSAGZANkFkwEZ +AGUCYwAZAG4CaAApAPoFoAEZAIcCcQCpABYGsAEZAHABEwCxAHABwAFEAAsDkABMAPMDiwBMAEAG +PQJMAHABEwC5AHABTAIpAJgGVwI5AHABXAJJAHABEwDJAL4GeALJAMQGeALRAHABEwBRAHABEwBR +APgGggLZAEkHhwLhAGAHjALpAPMDkgLxAHAHlgL5AJwHnALpAEAGpwLZAKMHrAIRAXABTAIZAXAB +EwAhAXABrAIpAXABEwAxAXABSAE5AXABSAFBAXABSAFJAXABSAFRAXABSAFZAXABSAFhAXABSAFp +AXABSAFxAXABSAEIACwA4AAIADAA5QApAIMAbgEuALsBUQIuAMsBdQMuALMBdQMuAIMBugIuAKsB +XgMuAMMBUQIuAHsBsQIuAIsB2QIuAJMBIQMuAJsBLgMuAOsAUQIuAGsBWAMuAKMBUQJAACsA5QBA +ABMA8ABDABsA/wBDABMA8ABJAIMAWgFjABsA/wBjABMA8ABpAIMATQGAACsA5QCDAHMA5QCDAHsA +5QCDABsA/wCJAIMAfwGgACsA5QCjABMA8ACjAMMAyAHAACsA5QDDAOsAUQLDABMA8ADJABMAbwLg +ACsA5QDpABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsBUQIjAXMB5QBAASsA +5QBAARMA8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAisA5QAA +AhMA8AA0ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CBAABAAYABQAHAAYACAAIAAAAlAFPAAAA +TQJUAAAA/AFZAAAAWQJeAAAAFQOYAAAAMgO1AAAAqQO6AAAAowPLAAIABAADAAIABQAFAAIABgAH +AAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIABgBHwEmAS0BKgIxAgSA +AAABAAAAAAAAAAAAAAAAAPIAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAA +AAAABAAAAAAAAAAAAAAAAQCdAQAAAAALAAAAAAAAAAAAAADQAP0DAAAAAAsAAAAAAAAAAAAAANAA +AAcAAAAAAAAAAAEAAADqBwAABQAEAAYABAAKAAkAAAAQAAwAowIAABAAGQCjAgAAAAAbAKMCLQC2 +AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxp +Y2F0aW9uAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5NeQBNeUNv +bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx +AE15UmVzb3VyY2VzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5N +eS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83YzBjZGI5Y2UzODU0NDNhYjM3NThmNzNjNmE5NmZh +My52YnByb2oAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B +cHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFs +QmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIA +bV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3Zp +ZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1f +TXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFs +cwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18A +VABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQA +R2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0 +ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5h +Z2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3Vy +YXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1Zh +bHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVyLkR0 +cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVudW0A +dmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz +YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl +cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl +bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy +ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50 +TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy +U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA +R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0 +aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t +VmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkA +U3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0 +dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFu +YWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRfVmFy +aWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNnQm94 +UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRBdHRy +aWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0 +M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9u +UmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVt +LlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxl +VmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRl +AEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3Nl +bWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJs +eVRpdGxlQXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +ai5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAA +R1QAaABlACAAbgBhAG0AZQAgAG8AZgAgAHQAaABlACAAcABhAHIAZQBuAHQAIABwAGEAYwBrAGEA +ZwBlACAAaQBzADoAIAAANyQAUABhAGMAawBhAGcAZQA6ADoAUABhAHIAZQBuAHQAUABhAGMAawBh +AGcAZQBOAGEAbQBlAAAnVQBzAGUAcgA6ADoAQwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAG1MA +YQBsAGUAcwBGAGkAbABlAC4AdAB4AHQAAACcewXrhPsLSIkYZg19gFTGAAi3elxWGTTgiQiwP19/ +EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH +BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH +MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId +BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGCAMGESgEAAAAAAQBAAAABSABARE1CAEA +AQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAES +EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEODAEAB015LlVzZXIAABMBAA5NeS5BcHBs +aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMH +AQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIu +U2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5j +ZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwAT +ABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQHARIg +BCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEcEYCFHAQgAQEcBCABAQgIAQAIAAAAAAAe +AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12 +NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAA +ACkBACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5 +cmlnaHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZi +cHJvagAAAAAAeDoAAAAAAAAAAAAAjjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6AAAAAAAA +AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAMADAAAAAAAAAAAAAMADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQgAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAD8AgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAIAALwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANwBjADAA +YwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAz +AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcA +aAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQAxAAAAiAAvAAEATwByAGkAZwBp +AG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQA +NAAzAGEAYgAzADcANQA4AGYANwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAC4AZABs +AGwAAAAAAHgAKwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBjADAAYwBkAGIA +OQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAzAC4AdgBi +AHAAcgBvAGoAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A +MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw +AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAACgOgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage2.dtsx new file mode 100644 index 0000000..89aca52 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/ChildPackage2.dtsx @@ -0,0 +1,20 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.database b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.database new file mode 100644 index 0000000..f116f72 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.database @@ -0,0 +1,13 @@ + + DesignPatterns + DesignPatterns + 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/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj new file mode 100644 index 0000000..7d13d0d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj @@ -0,0 +1,238 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAABmqTdiBYMnOaqi3bYaEL/GO2wd3a5h5DZ9P5TZzPVCzQAAAAAOgAAAAAIAACAAAADkAHTsBwLJ8YFPD2q6ePAVvwQKNqy3hP29Q7ZmyfzTVZAAAABMcq5Ct8gD6wCnrhHv4UgK0pqZNFHNfGDMatjGGO6vujmQCKycHvZdF1qMCmaPi93q7taqn9QrhJ3WUHU6iI+baMFqui2fOkTAI3JVnF9kDhiVc/UM7Xtm1BBqwNT576vAR+s/1n5XcNmCV8JudxhjlHFJQPKUF13IQEZGef4BLl6xbtp+9bYyMtai3NhhKA9AAAAAyePhAjQA+Hq/2+wpog/3viWQXKn8gMvWx8ScUQHBB4MO435m9tJM/Xk81e8fpDidcEJ/jEpHCQTaPoTwkPCJmw== + 1 + + + + + + + + + + + + + + {3A931EA6-C434-4506-A3BB-10DEE6C06F96} + ChildPackage + 1 + 0 + 8 + + + {0A8C0714-75B2-488F-BD48-1B1A6EBE9EBB} + 6 + + + 1 + + + + + {548BA81E-8103-4773-AD3A-C1251C30ACD6} + + + + + 0 + 0 + 0 + 18 + + + + + + + {39B8105F-2B83-4ABB-AF46-01F8854D91EE} + ChildPackage2 + 1 + 0 + 1 + + + {E3299FB5-7647-41B9-8206-E5A4900B4B92} + 5 + + + 1 + + + + + + {786ECD14-B8E3-4175-B96E-71A921B79199} + Ch16_DynamicChild + 1 + 0 + 14 + + + {EBF146F9-F378-4F58-AEF9-2C29640E675C} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=DesignPatterns;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + DesignPatterns + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3075A053-CF1E-4729-8FFC-EB0B595F1F74} + Ch16_ParentChild + 1 + 0 + 17 + + + {74AC0177-D462-427F-AA3C-AAF8172778B0} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj.user new file mode 100644 index 0000000..69fb4ec --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/DesignPatterns.dtproj.user @@ -0,0 +1,23 @@ + + + + + Development + + SQLServer2012 + /SSISDB/DesignPatterns/DesignPatterns + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/DesignPatterns.ispac new file mode 100644 index 0000000..312fdc5 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/Development/DesignPatterns.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/Development/DesignPatterns.ispac new file mode 100644 index 0000000..d86fb67 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/bin/Development/DesignPatterns.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/BuildLog.xml new file mode 100644 index 0000000..ab97522 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/BuildLog.xml @@ -0,0 +1,45 @@ + + + + DesignPatterns + 2012-06-25T19:36:41.2078776Z + EncryptSensitiveWithUserKey + + + + Ch04_SQLServerSource.dtsx + 2012-06-18T09:25:50.4593857Z + EncryptSensitiveWithUserKey + + + Ch06_DB2Source.dtsx + 2012-06-25T17:02:23.5032626Z + EncryptSensitiveWithUserKey + + + ChildPackage.dtsx + 2012-06-25T19:58:43.0512394Z + EncryptSensitiveWithUserKey + + + ChildPackage2.dtsx + 2011-12-17T23:33:56Z + EncryptSensitiveWithUserKey + + + Ch15_Reporting.dtsx + 2012-06-13T15:52:51.2225871Z + EncryptSensitiveWithUserKey + + + Ch16_DynamicChild.dtsx + 2012-06-25T20:01:42.8636152Z + EncryptSensitiveWithUserKey + + + Ch16_ParentChild.dtsx + 2012-06-25T20:04:20.6143222Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx new file mode 100644 index 0000000..8d6ca0a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch04_SQLServerSource.dtsx @@ -0,0 +1,595 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + "EXEC GetCustomerData '" + (DT_STR, 29, 1252)@[System::ContainerStartTime] + "'" + + + + + + EXEC GetCustomerData '6/25/2012 12:22:40 PM' + 30 + true + + 2 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + true + + 0 + Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.ADONETSrc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx new file mode 100644 index 0000000..c11632f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch06_DB2Source.dtsx @@ -0,0 +1,200 @@ + + + 6 + + + + + + + + + + + + + + + dev + + + “select col1, col2 from ” + @environment + “.tab1” + + + + + + + + + + + 0 + + + select * from table where col = ? + User::query + 1252 + false + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch15_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch15_Reporting.dtsx new file mode 100644 index 0000000..ee7c661 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch15_Reporting.dtsx @@ -0,0 +1,897 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Person].[Address] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx new file mode 100644 index 0000000..02910a2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_DynamicChild.dtsx @@ -0,0 +1,206 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx new file mode 100644 index 0000000..7b30947 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch16_ParentChild.dtsx @@ -0,0 +1,672 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx new file mode 100644 index 0000000..d78c2f2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_DynamicChild.dtsx @@ -0,0 +1,196 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @[User::packageName] + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx new file mode 100644 index 0000000..32eb9e2 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch17_ParentChild.dtsx @@ -0,0 +1,654 @@ + + + 6 + + + + + + + + + + + True + ChildPackage.dtsx + + ParentPackageName + System::PackageName + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + st_1dff4d6921484c048f9851bd446ffc83 + st_1dff4d6921484c048f9851bd446ffc83 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the child file is: " & _ + Dts.Variables("User::ChildFileName").Value.ToString) + Dts.TaskResult = ScriptResults.Success + End Sub + + +End Class]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojst_1dff4d6921484c048f9851bd446ffc83OnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAKIbUU4AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANg5AABTAAAAAEAAAPgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAPgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OgAAAAAAAEgAAAACAAUAqCMAADAWAAABAAAAAAAAAO8iAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoq+nIzAABwAm8lAAAKbyYAAApycwAAcG8nAAAKbygAAApvFQAACigpAAAKFhQoKgAACiYCbyUA +AAoWbysAAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVy +LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv +a2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQC +AAAAAAAAAAAAAABQQURQQURQtAAAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwA +AADIBwAAI34AADQIAACwCQAAI1N0cmluZ3MAAAAA5BEAAJwAAAAjVVMAgBIAABAAAAAjR1VJRAAA +AJASAACgAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAALgAAAAoAAAAMAAAA +GQAAAAQAAAA4AAAAAgAAADYAAAAOAAAABAAAAAgAAAAJAAAACQAAAAEAAAAFAAAAAQAAAAMAAAAD +AAAAAgAAAAAAhQkBAAAAAAAKAGABNgEKAJQBdgEGAKQBnQEKAPwBNgEGAHoCnQEKAPwC0gIGADID +IQMGAF8DSgMOAMYDsQMSAEUEHAQGAGYEnQEOAJkEgwQOALIEgwQOAN8ExwQGAAkF9gQKAEgFIQUK +AGAFEwAOAJUFeAUGAMoFqgUGAOgFnQEGAAwGnQEKACUGEwAGAGkGSgYGAI8GfQYGALYGpQYGAMkG +9gQSAOYGHAQWAD8HHwcWAFcHHwcGAGkHnQEKAHcHEwAKAIMHEwAKAJAHEwAGALIHnQESAMgHHAQG +ACkIqgUGAEkIqgUGAIEIZwgGAJoIfQYGALcISgYGAMUIfQYGAOAIfQYGAPsIfQYGABQJfQYGAC0J +fQYGAEoJfQYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAGUANwAJAAEAAgAAARAAcAA3 +AA0AAQADAAUBAAB6AAAADQAFAAgABQEAAIgAAAANAAUADwAAAAAAowCvAA0ABgARAAABEADnAPIA +JQAIABUAAQAAAB0B8gApAAoAGAACAQAAKAEAAC0ACgAaADEAvwEgADEA6AEtADEACgI6ADEALwJH +ACEACwOQABEAQgOdABEAawOhABEA3gO/ABEA5gPDAAYGawTZAFaAcwTcAFaAewTcAFAgAAAAAAYY +cAETAAEAWCAAAAAABhhwARMAAQBgIAAAAAARGKsBFwABAIwgAAAAABMIsgEbAAEApCAAAAAAEwjY +ASgAAQC8IAAAAAATCAECNQABANQgAAAAABMIHwJCAAEA7CAAAAAARgJlAmMAAQAIIQAAAABGAm4C +aAACABwhAAAAAIMAfwJsAAIANCEAAAAARgKHAnEAAgBIIQAAAAARAJACeAACAGQhAAAAAAEArgKA +AAMAgCEAAAAABhhwARMABACIIQAAAAADCMICiwAEALwhAAAAAAYYcAETAAQA0CEAAAAAAxhwARMA +BADYIQAAAAAWCHcDpQAEABQiAAAAABYIiwOqAAQAKCIAAAAAFgiXA68ABAAwIgAAAAARGKsBFwAF +AEQiAAAAAAYYcAETAAUATCIAAAAAFgjzA8YABQCoIgAAAAAGGHABEwAFALAiAAAAAAYAYQQTAAUA +AAABAGwCAAABAKUCAAABAKUCAAABAKMDCQBwARMAYQBwAeoAcQBwAfkAEQBwARMAeQBwARMAJABw +ARMALABwARMANABwARMAPABwARMAJADCAosALADCAosANADCAosAPADCAosAgQBwARMAiQBwARMA +kQBwAUgBmQDZBZMBGQBlAmMAGQBuAmgAKQD6BaABGQCHAnEAqQAWBrABGQBwARMAsQBwAcABRAAL +A5AATADzA4sATABABj0CTABwARMAuQBwAUwCKQCYBlcCOQBwAVwCSQBwARMAyQC+BngCyQDEBngC +0QBwARMAUQBwARMAUQD4BoIC2QBJB4cC4QBgB4wC6QDzA5IC8QBwB5YC+QCcB5wC2QCjB6cCEQFw +AUwCGQFwARMAIQFwAacCKQFwARMAMQFwAUgBOQFwAUgBQQFwAUgBSQFwAUgBUQFwAUgBWQFwAUgB +YQFwAUgBaQFwAUgBcQFwAUgBCAAsAOAACAAwAOUAKQCDAGEBLgCzAVECLgDDAXADLgCrAXADLgB7 +AbUCLgCjAVkDLgC7AVECLgBzAawCLgCDAdQCLgCLARwDLgCTASkDLgDrAFECLgBjAVMDLgCbAVEC +QAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAE0BYwAbAP8AYwATAPAAaQCDAHIBgAArAOUAgwAb +AP8AgwB7AOUAgwBzAOUAiQCDAH8BoAArAOUAowATAPAAowDDAMgBwAArAOUAwwDrAFECwwATAPAA +yQATAG8C4AArAOUA6QATAG8CAAETAPAAAAErAOUACQEbAeUAIAETAPAAIAErAOUAIwFjAVECIwFr +AeUAQAErAOUAQAETAPAAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAETAPAAwAErAOUA4AErAOUA +AAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9AgQAAQAGAAUABwAGAAgACAAA +AJQBTwAAAE0CVAAAAPwBWQAAAFkCXgAAABUDmAAAADIDtQAAAKkDugAAAKMDywACAAQAAwACAAUA +BQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEt +ASoCMQIEgAAAAQAAAAAAAAAAAAAAAABhCQAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA +AAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAnQEAAAAACwAAAAAAAAAAAAAA0AD9AwAAAAALAAAAAAAA +AAAAAADQAAAHAAAAAAAAAAABAAAA6gcAAAUABAAGAAQACgAJAAAAEAAMAKMCAAAQABkAowIAAAAA +GwCjAi0AtgEtADgCAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15 +QXBwbGljYXRpb24AU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLk15 +AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3Zp +ZGVyYDEATXlSZXNvdXJjZXMAU1RfN2MwY2RiOWNlMzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJw +cm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2 +YTk2ZmEzLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJh +c2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5W +aXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21w +dXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0 +UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2Vydmlj +ZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMA +RXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFu +Y2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29u +dGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdy +AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJj +ZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29u +ZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABn +ZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4A +RW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9y +QnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNv +bXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2Vy +SGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0 +YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21w +b25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29t +cGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhh +bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENv +bGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNl +cwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3Nl +bWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJD +b2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZl +ci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdl +dF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0AU3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBN +c2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFu +dEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfN2MwY2RiOWNl +Mzg1NDQzYWIzNzU4ZjczYzZhOTZmYTMudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGls +YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBT +eXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJs +eUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRy +aWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRl +AEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFz +c2VtYmx5VGl0bGVBdHRyaWJ1dGUAc3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMA +c3RfMWRmZjRkNjkyMTQ4NGMwNDhmOTg1MWJkNDQ2ZmZjODMuZGxsAAAAAAAxTQB5AC4AUgBlAHMA +bwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAD9UAGgAZQAgAG4AYQBtAGUAIABv +AGYAIAB0AGgAZQAgAGMAaABpAGwAZAAgAGYAaQBsAGUAIABpAHMAOgAgAAAnVQBzAGUAcgA6ADoA +QwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAAHVEkIAhU1pCgDA/8OIMhSUACLd6XFYZNOCJCLA/ +X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAAS +FAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAe +AAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgA +Eh0ECAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUI +AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY +ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4TAQAOTXkuQXBwbGljYXRpb24AABAB +AAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwEC +AwcBCAYAARIVEVEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldl +Yi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3Rh +bmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMT +ABMAEwAEIAEBAgUBAAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcB +EiAEIAASbQQgABJxBSABEnUcAyAAHAUAAg4ODgoAAxGAgRwRgIUcBCABAQgIAQAIAAAAAAAeAQAB +AFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4w +AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkB +ACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5cmln +aHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +agAAADoAAAAAAAAAAAAAHjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA6AAAAAAAAAAAAAAAA +AAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAKADAAAAAAAAAAAAAKADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQAAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADcAgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAHAAKAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAcwB0AF8AMQBkAGYA +ZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUAMQBiAGQANAA0ADYAZgBmAGMAOAAz +AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIA +aQBnAGgAdAAgAEAAIAAgADIAMAAxADEAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBu +AGEAbQBlAAAAcwB0AF8AMQBkAGYAZgA0AGQANgA5ADIAMQA0ADgANABjADAANAA4AGYAOQA4ADUA +MQBiAGQANAA0ADYAZgBmAGMAOAAzAC4AZABsAGwAAAB4ACsAAQBQAHIAbwBkAHUAYwB0AE4AYQBt +AGUAAAAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQANAAzAGEAYgAzADcANQA4AGYA +NwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0 +AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAA +VgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAwAAAMAAAAMDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + <PrecedenceConstraint xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:EvalOp>Constraint</dwd:EvalOp></PrecedenceConstraint> + + + <Package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:dwd="http://schemas.microsoft.com/DataWarehouse/Designer/1.0"><dwd:LayoutInfo>&lt;GraphLayout Capacity="4" 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:x="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;NodeLayout Size="184.323333333334,42" Id="{}{E6EEC4B0-2EAC-4DB1-8265-9759C032977D}" TopLeft="54,44" /&gt;&lt;NodeLayout Size="131.846666666667,42" Id="{}{7e1f849e-2b2c-4dcc-9e5d-880518dd5b31}" TopLeft="79,142" /&gt;&lt;EdgeLayout Id="{}{ABDC1063-2752-407F-81DE-7D8CCBB5020C}" TopLeft="145.5425,86"&gt;&lt;EdgeLayout.Curve&gt;&lt;mssgle:Curve StartConnector="{x:Null}" EndConnector="0,56" Start="0,0" End="0,48.5"&gt;&lt;mssgle:Curve.Segments&gt;&lt;mssgle:SegmentCollection Capacity="4"&gt;&lt;mssgle:LineSegment End="0,48.5" /&gt;&lt;/mssgle:SegmentCollection&gt;&lt;/mssgle:Curve.Segments&gt;&lt;/mssgle:Curve&gt;&lt;/EdgeLayout.Curve&gt;&lt;EdgeLayout.Labels&gt;&lt;EdgeLabelCollection /&gt;&lt;/EdgeLayout.Labels&gt;&lt;/EdgeLayout&gt;&lt;/GraphLayout&gt;</dwd:LayoutInfo></Package> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch19_Reporting.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch19_Reporting.dtsx new file mode 100644 index 0000000..b71ada4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Ch19_Reporting.dtsx @@ -0,0 +1,315 @@ + + + 6 + + + + + + + + + + + + + + + + + 14,7,OnError,19,OnExecStatusChanged,13,OnInformation,13,OnPostExecute,14,OnPostValidate,12,OnPreExecute,13,OnPreValidate,10,OnProgress,13,OnQueryCancel,12,OnTaskFailed,22,OnVariableValueChanged,9,OnWarning,10,Diagnostic,12,DiagnosticEx + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + -1 + -1 + -1 + -1 + -1 + -1 + -1 + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage.dtsx new file mode 100644 index 0000000..d72c0dd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage.dtsx @@ -0,0 +1,627 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}DebugAnyCPULibraryST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojST_7c0cdb9ce385443ab3758f73c6a96fa3.vbprojOnBinaryOffOn{1844B6EC-DB1E-47D1-ACE7-703030466114}truetruetruefalsebin\falsefalse42016,42017,42018,42019,42032falsetruefalsetruebin\falsefalse42016,42017,42018,42019,42032,42353,42354,42355CodeVbMyResourcesResXFileCodeGeneratorResources.Designer.vbMy.ResourcesTrueTrueResources.resxCodeSettingsSingleFileGeneratorSettings.Designer.vbTrueSettings.settingsCodeCodeSSIS_ST110]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + Reference;Import;Folder + msBuild + {7D71675E-396A-4F28-AA69-9671D797C828} + st_7c0cdb9ce385443ab3758f73c6a96fa3 + st_7c0cdb9ce385443ab3758f73c6a96fa3 + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase + + Enum ScriptResults + Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success + Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure + End Enum + + + ' The execution engine calls this method when the task executes. + ' To access the object model, use the Dts property. Connections, variables, events, + ' and logging features are available as members of the Dts property as shown in the following examples. + ' + ' To reference a variable, call Dts.Variables("MyCaseSensitiveVariableName").Value + ' To post a log entry, call Dts.Log("This is my log text", 999, Nothing) + ' To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, True) + ' + ' To use the connections collection use something like the following: + ' ConnectionManager cm = Dts.Connections.Add("OLEDB") + ' cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;" + ' + ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. + ' + ' To open Help, press F1. + + Public Sub Main() + MsgBox("The name of the parent package is: " & _ + Dts.Variables("$Package::ParentPackageName").Value.ToString) + Dts.Variables("User::ChildFileName").Value = "SalesFile.txt" + Dts.TaskResult = ScriptResults.Success + End Sub + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAO/C6E8AAAAAAAAAAOAAAiELAQgAABwAAAAIAAAAAAAAnjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAFA6AABLAAAAAEAAABgEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAApBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAABgEAAAAQAAAAAYAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAJAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACA +OgAAAAAAAEgAAAACAAUA1CMAAHwWAAABAAAAAAAAABkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAF0AAAAAAAAAcjMAAHACbyUAAApvJgAACnJ7AABwbycAAApvKAAACm8VAAAKKCkAAAoW +FCgqAAAKJgJvJQAACm8mAAAKcrMAAHBvJwAACnLbAABwbysAAAoCbyUAAAoWbywAAAoqtAAAAM7K +774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVy +c2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkz +NGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQ +QURQtAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANAHAAAjfgAAPAgA +AJAJAAAjU3RyaW5ncwAAAADMEQAA+AAAACNVUwDEEgAAEAAAACNHVUlEAAAA1BIAAKgDAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADkAAAAC +AAAANgAAAA4AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABhCQEA +AAAAAAoAYAE2AQoAlAF2AQYApAGdAQoA/AE2AQYAegKdAQoA/ALSAgYAMgMhAwYAXwNKAw4AxgOx +AxIARQQcBAYAZgSdAQ4AmQSDBA4AsgSDBA4A3wTHBAYACQX2BAoASAUhBQoAYAUTAA4AlQV4BQYA +ygWqBQYA6AWdAQYADAadAQoAJQYTAAYAaQZKBgYAjwZ9BgYAtgalBgYAyQb2BBIA5gYcBBYAPwcf +BxYAVwcfBwYAaQedAQoAdwcTAAoAgwcTAAoAkAcTAAYAsgedARIAyAccBAYAKQiqBQYASQiqBQYA +gQhnCAYAmgh9BgYAtwhKBgYAxQh9BgYA4Ah9BgYA+wh9BgYAFAl9BgYALQl9BgYASgl9BgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAZQA3AAkAAQACAAABEABwADcADQABAAMABQEAAHoA +AAANAAUACAAFAQAAiAAAAA0ABQAPAAAAAACjAK8ADQAGABEAAAEQAOcA8gAlAAgAFQABAAAAHQHy +ACkACgAYAAIBAAAoAQAALQAKABoAMQC/ASAAMQDoAS0AMQAKAjoAMQAvAkcAIQALA5AAEQBCA50A +EQBrA6EAEQDeA78AEQDmA8MABgZrBNkAVoBzBNwAVoB7BNwAUCAAAAAABhhwARMAAQBYIAAAAAAG +GHABEwABAGAgAAAAABEYqwEXAAEAjCAAAAAAEwiyARsAAQCkIAAAAAATCNgBKAABALwgAAAAABMI +AQI1AAEA1CAAAAAAEwgfAkIAAQDsIAAAAABGAmUCYwABAAghAAAAAEYCbgJoAAIAHCEAAAAAgwB/ +AmwAAgA0IQAAAABGAocCcQACAEghAAAAABEAkAJ4AAIAZCEAAAAAAQCuAoAAAwCAIQAAAAAGGHAB +EwAEAIghAAAAAAMIwgKLAAQAvCEAAAAABhhwARMABADQIQAAAAADGHABEwAEANghAAAAABYIdwOl +AAQAFCIAAAAAFgiLA6oABAAoIgAAAAAWCJcDrwAEADAiAAAAABEYqwEXAAUARCIAAAAABhhwARMA +BQBMIgAAAAAWCPMDxgAFAKgiAAAAAAYYcAETAAUAsCIAAAAABgBhBBMABQAAAAEAbAIAAAEApQIA +AAEApQIAAAEAowMJAHABEwBhAHAB6gBxAHAB+QARAHABEwB5AHABEwAkAHABEwAsAHABEwA0AHAB +EwA8AHABEwAkAMICiwAsAMICiwA0AMICiwA8AMICiwCBAHABEwCJAHABEwCRAHABSAGZANkFkwEZ +AGUCYwAZAG4CaAApAPoFoAEZAIcCcQCpABYGsAEZAHABEwCxAHABwAFEAAsDkABMAPMDiwBMAEAG +PQJMAHABEwC5AHABTAIpAJgGVwI5AHABXAJJAHABEwDJAL4GeALJAMQGeALRAHABEwBRAHABEwBR +APgGggLZAEkHhwLhAGAHjALpAPMDkgLxAHAHlgL5AJwHnALpAEAGpwLZAKMHrAIRAXABTAIZAXAB +EwAhAXABrAIpAXABEwAxAXABSAE5AXABSAFBAXABSAFJAXABSAFRAXABSAFZAXABSAFhAXABSAFp +AXABSAFxAXABSAEIACwA4AAIADAA5QApAIMAbgEuALsBUQIuAMsBdQMuALMBdQMuAIMBugIuAKsB +XgMuAMMBUQIuAHsBsQIuAIsB2QIuAJMBIQMuAJsBLgMuAOsAUQIuAGsBWAMuAKMBUQJAACsA5QBA +ABMA8ABDABsA/wBDABMA8ABJAIMAWgFjABsA/wBjABMA8ABpAIMATQGAACsA5QCDAHMA5QCDAHsA +5QCDABsA/wCJAIMAfwGgACsA5QCjABMA8ACjAMMAyAHAACsA5QDDAOsAUQLDABMA8ADJABMAbwLg +ACsA5QDpABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsBUQIjAXMB5QBAASsA +5QBAARMA8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAisA5QAA +AhMA8AA0ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CBAABAAYABQAHAAYACAAIAAAAlAFPAAAA +TQJUAAAA/AFZAAAAWQJeAAAAFQOYAAAAMgO1AAAAqQO6AAAAowPLAAIABAADAAIABQAFAAIABgAH +AAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIABgBHwEmAS0BKgIxAgSA +AAABAAAAAAAAAAAAAAAAAPIAAAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAA +AAAABAAAAAAAAAAAAAAAAQCdAQAAAAALAAAAAAAAAAAAAADQAP0DAAAAAAsAAAAAAAAAAAAAANAA +AAcAAAAAAAAAAAEAAADqBwAABQAEAAYABAAKAAkAAAAQAAwAowIAABAAGQCjAgAAAAAbAKMCLQC2 +AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxp +Y2F0aW9uAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5NeQBNeUNv +bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx +AE15UmVzb3VyY2VzAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5N +eS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTVF83YzBjZGI5Y2UzODU0NDNhYjM3NThmNzNjNmE5NmZh +My52YnByb2oAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5B +cHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFs +QmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIA +bV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3Zp +ZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1f +TXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFs +cwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18A +VABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQA +R2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBTeXN0 +ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VNYW5h +Z2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZpZ3Vy +YXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0X1Zh +bHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVyLkR0 +cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVudW0A +dmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dz +YWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxl +cgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRl +bkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFy +ZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50 +TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy +U2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUA +R2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0 +aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29t +VmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkA +U3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0 +dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuTWFu +YWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRfVmFy +aWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNnQm94 +UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRBdHRy +aWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0 +M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9u +UmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVt +LlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxl +VmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRl +AEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3Nl +bWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJs +eVRpdGxlQXR0cmlidXRlAFNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZicHJv +ai5kbGwAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAA +R1QAaABlACAAbgBhAG0AZQAgAG8AZgAgAHQAaABlACAAcABhAHIAZQBuAHQAIABwAGEAYwBrAGEA +ZwBlACAAaQBzADoAIAAANyQAUABhAGMAawBhAGcAZQA6ADoAUABhAHIAZQBuAHQAUABhAGMAawBh +AGcAZQBOAGEAbQBlAAAnVQBzAGUAcgA6ADoAQwBoAGkAbABkAEYAaQBsAGUATgBhAG0AZQAAG1MA +YQBsAGUAcwBGAGkAbABlAC4AdAB4AHQAAACcewXrhPsLSIkYZg19gFTGAAi3elxWGTTgiQiwP19/ +EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH +BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH +MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId +BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQIGCAMGESgEAAAAAAQBAAAABSABARE1CAEA +AQAAAAAABSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAYVEhgBEgwGFRIYARIIBhUSGAES +EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFAQgAQEODAEAB015LlVzZXIAABMBAA5NeS5BcHBs +aWNhdGlvbgAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMH +AQgGAAESFRFRBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIu +U2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5j +ZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwAT +ABMABCABAQIFAQAAAAAEIAASYQYgAgEOEmEGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQHARIg +BCAAEm0EIAAScQUgARJ1HAMgABwFAAIODg4KAAMRgIEcEYCFHAQgAQEcBCABAQgIAQAIAAAAAAAe +AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12 +NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAA +ACkBACQyNzEzOWRmMC0yYjY5LTQ4OTItODk5YS03ODg1NDA2NTU1MTMAAAUBAAEAABYBABFDb3B5 +cmlnaHQgQCAgMjAxMQAALwEAKlNUXzdjMGNkYjljZTM4NTQ0M2FiMzc1OGY3M2M2YTk2ZmEzLnZi +cHJvagAAAAAAeDoAAAAAAAAAAAAAjjoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6AAAAAAAA +AABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAMADAAAAAAAAAAAAAMADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsAQgAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAD8AgAAAQAwADAAMAAwADAA +NABiADAAAACAACsAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBj +ADAAYwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYA +YQAzAC4AdgBiAHAAcgBvAGoAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAu +ADAALgAwAC4AMAAAAIAALwABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8ANwBjADAA +YwBkAGIAOQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAz +AC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcA +aAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAAIAAyADAAMQAxAAAAiAAvAAEATwByAGkAZwBp +AG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAVABfADcAYwAwAGMAZABiADkAYwBlADMAOAA1ADQA +NAAzAGEAYgAzADcANQA4AGYANwAzAGMANgBhADkANgBmAGEAMwAuAHYAYgBwAHIAbwBqAC4AZABs +AGwAAAAAAHgAKwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBjADAAYwBkAGIA +OQBjAGUAMwA4ADUANAA0ADMAYQBiADMANwA1ADgAZgA3ADMAYwA2AGEAOQA2AGYAYQAzAC4AdgBi +AHAAcgBvAGoAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4A +MAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAw +AC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAACgOgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage2.dtsx new file mode 100644 index 0000000..89aca52 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/ChildPackage2.dtsx @@ -0,0 +1,20 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/DesignPatterns.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/DesignPatterns.dtproj new file mode 100644 index 0000000..0d31105 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/DesignPatterns.dtproj @@ -0,0 +1,907 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + DesignPatterns.database + DesignPatterns.database + + + + + + + + {1c2adcce-2971-4f84-b6e7-c1388a5de1c9} + DesignPatterns + 1 + 0 + 0 + + + 2011-05-01T01:09:49.2921264-04:00 + SQLServer2008R2\JessicaMoss + SQLSERVER2008R2 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANw1A1MZz6kyoTnBACmc50AAAAAACAAAAAAAQZgAAAAEAACAAAAA8DUfU/PhrxbD1//FFKaOIp5nOVyaHQ4ld5aTVW3un6AAAAAAOgAAAAAIAACAAAADgG3WXwUGuRZH+nxApnukwZWsd53+an0JbjetczzuDbpAAAADKUDmOkbtBEMuEaw29hMAcPwXJ4TcCDIPEaE8ozYBhkgTKkmSrm+ak8Xmr3ObkKR7jqXwWeza3UBg04gm+HARtU4XIaeqsUIla8TNzoLM9wDFBBekvssfaKFacRKMixR3CsK8P9vaY9RPkhosiE8VlCrr4qHiShEO1Vvo1KhYDHQ9p6L+QppVwk++3A3t2ZfFAAAAAj3wyM5oWQzsDdqKInwKrZw2HN0hUJCOX3EL6kSLTIlbosDnYkVqIagt5e15D3XjT7FmD50JVv6qHR1YcgxYALg== + 1 + + + + + + + + + + + + + + + + + {AABC1CB8-134F-4CC4-A55A-A50662A0E35E} + Ch04_SQLServerSource + 1 + 0 + 17 + + + {7E5140E7-939A-441F-93E7-294E23445FB6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True;Application Name=SSIS-Ch04_SQLServerSource-{05557967-093E-42C7-8066-FD23F089DE2B}localhost.AdventureWorks2008R21; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + server=localhost;Driver={SQL Server Native Client 11.0};database=AdventureWorks;trusted_connection=yes; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FA04F5FC-0E36-46BD-9F71-339AD3F2B3DF} + Ch06_DB2Source + 1 + 0 + 13 + + + {C304BC0C-EA52-4495-BDF7-CAACB2D8D3F7} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Provider=DB2OLEDB;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=JMMCONSULTING;Provider=DB2OLEDB;Integrated Security=SSPI;Derive Parameters=True; + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + JMMCONSULTING + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3A931EA6-C434-4506-A3BB-10DEE6C06F96} + ChildPackage + 1 + 0 + 11 + + + {7ABCA381-247E-4172-9332-A8B365F300C7} + 6 + + + 1 + + + + + {548BA81E-8103-4773-AD3A-C1251C30ACD6} + + + + + 0 + 0 + 0 + 18 + + + + + + + {39B8105F-2B83-4ABB-AF46-01F8854D91EE} + ChildPackage2 + 1 + 0 + 1 + + + {E3299FB5-7647-41B9-8206-E5A4900B4B92} + 5 + + + 1 + + + + + + {8A428D78-C6F9-49BC-9AB2-6ECD0758CEFF} + Ch15_Reporting + 1 + 0 + 5 + + + {23763094-00F8-4ECD-9B72-2788F30634EC} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + AdventureWorks + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {786ECD14-B8E3-4175-B96E-71A921B79199} + Ch16_DynamicChild + 1 + 0 + 16 + + + {066CF370-BEB1-490E-BE69-D4D49872882B} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=DesignPatterns;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + DesignPatterns + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {3075A053-CF1E-4729-8FFC-EB0B595F1F74} + Ch16_ParentChild + 1 + 0 + 19 + + + {2B5CAEB7-9BB6-4A5B-9B9D-B50F052775C7} + 6 + + + 1 + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-08-21T15:05:24.7198512Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch16/DesignPatterns/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.database b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.database new file mode 100644 index 0000000..31743d5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.database @@ -0,0 +1,13 @@ + + BIML + BIML + 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/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj new file mode 100644 index 0000000..2c81c9a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj @@ -0,0 +1,1073 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + BIML.database + BIML.database + + + + + + + + {31c1989a-123c-4936-814b-dd94f79089d2} + BIML + 1 + 0 + 0 + + + 2012-04-04T07:15:26.0729899-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAbktffIHTdke86Vlq3tUs0wAAAAACAAAAAAAQZgAAAAEAACAAAACH+2vsIfxUkeuaCR0dY+e7VEOuHtkqcDx6BRyLwfLW/gAAAAAOgAAAAAIAACAAAAAckVn8J4CARiXSL1LAM9jesE3GRFN0K/67gj2QZ2DZ3ZAAAAASfDJULjr3HhcRnVrXG1oBx3Y9kvzOohfPCiZGGjYvTFeMEZb+H6ofEcFiHNkvGrpG27dEHN3coeoz0uuk77F1oLSuqJ1UGbwcLTkDMS7GWlc7vnvVIC+xTvX5IavpDu13dY5nJe9bWsoPossrG1Jz86GHB4FLxPdniN+TgQ/1no1645fcP1FLdZy+sCMC0EVAAAAA2M7m/cPZ0b6yS8eMOyaPZjSBtKZWlEAN6OieTd+XYEwynfPYCzbVVvkclRYuQcJue5IScPzBUgyKksA3bMeR+Q== + 1 + + + + + + + + + + + + + + + + {C9DF041B-1015-41DC-A943-E6173960112B} + TestBimlPackage + 1 + 0 + 0 + + + {B77A9AA3-C187-4FCB-AD64-5DB19667AB49} + 6 + + + 1 + + + + + + {3E03995A-07B0-48E0-A356-EC542B5BBF42} + IncrementalLoadPackage + 1 + 0 + 0 + + + {400B8E3D-7821-4E0E-9293-C1F941D23331} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Dest;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Dest + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FCB3FA6F-DBA5-492E-94BE-74B684220DFC} + IncrementalLoad_Source1 + 1 + 0 + 0 + + + {5D632F20-27A2-4C92-A7A6-5893C7286904} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {F676E846-FAB9-4DF2-9E37-04D587E1E9E2} + IncrementalLoad_Source2 + 1 + 0 + 0 + + + {4BFE6CFB-2D5F-4CFA-BCF4-285E1D891D42} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {612CEA50-5CBA-4F1E-B9D7-6CAD1365837E} + IncrementalLoad_Source3 + 1 + 0 + 0 + + + {C147806C-44B9-4051-A1D4-BB59DD19813F} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {A6B49F8F-6831-47BE-B767-DF7D19DD2FCD} + IncrementalLoad_tblSource + 1 + 0 + 0 + + + {0ED055A2-A6B0-4C5B-AFD6-A5D3E89BB1C0} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + IncrementalLoad.biml + IncrementalLoad.biml + + + FirstBimlScript.biml + FirstBimlScript.biml + + + ForEachBimlScript.biml + ForEachBimlScript.biml + + + BimlScript1.biml + BimlScript1.biml + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-04-05T14:33:35.28058Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj.user new file mode 100644 index 0000000..0285a75 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/BIML.dtproj.user @@ -0,0 +1,21 @@ + + + + + Development + + + + false + true + + + LastModifiedTime + LastModifiedTime + 2012-04-05T14:33:35.2814501Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript.biml new file mode 100644 index 0000000..8a58517 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript.biml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + Truncate Table stgUpdates + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Update Dest + Set Dest.ColA = Upd.ColA + ,Dest.ColB = Upd.ColB + ,Dest.ColC = Upd.ColC +From tblDest Dest +Join stgUpdates Upd + On Upd.ColID = Dest.ColID + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript1.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript1.biml new file mode 100644 index 0000000..09b2150 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/BimlScript1.biml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/FirstBimlScript.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/FirstBimlScript.biml new file mode 100644 index 0000000..6e2a144 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/FirstBimlScript.biml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/ForEachBimlScript.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/ForEachBimlScript.biml new file mode 100644 index 0000000..b66836d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/ForEachBimlScript.biml @@ -0,0 +1,93 @@ +<#@ import namespace="System.Data" #> +<#@ import namespace="Varigence.Hadron.CoreLowerer.SchemaManagement" #> +<# var connection = SchemaManager.CreateConnectionNode("SchemaProvider", "Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI;"); #> +<# var tables = connection.GenerateTableNodes(); #> + + + + + + + <# foreach (var table in tables) { #> + + + + + Truncate Table stgUpdates_<#=table.Name#> + + + + + + + + + + + + SELECT <#=table.GetColumnList()#> FROM <#=table.SchemaQualifiedName#> + + + + + + SELECT <#=table.GetColumnList()#> FROM dbo.<#=table.Name#> + + + <# foreach (var keyColumn in table.Keys[0].Columns) { #> + + <# } #> + + + <# foreach (var col in table.Columns) + { #> + + <# } #> + + + + + + + + + + + <# string exp=""; + foreach (var colex in table.Columns) + { + exp += "(" + colex + " != Dest_" + colex + ") || "; + } #> + + <#=exp.Substring(0, exp.Length - 4)#> + + + + + + + + + + + + + + + + + <# string upd ="Update Dest Set "; + foreach (var colex in table.Columns.Where(column => !table.Keys[0].Columns.Select(keyColumn => keyColumn.Column).Contains(column))) { + upd = upd + "Dest." + colex + " = Upd." + colex + ","; + } + var updc = upd.Substring(0,upd.Length-1) + " From " + table.SchemaQualifiedName + " Dest Join [" + table.Schema.Name + "].[stgUpdates_" + table.Name + "] Upd On Upd." + table.Keys[0].Columns[0].Column + " = Dest." + table.Keys[0].Columns[0].Column;#> + + <#=updc#> + + + + + <# } #> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad.biml new file mode 100644 index 0000000..8fc7794 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad.biml @@ -0,0 +1,71 @@ + + + + + + + + + + Truncate Table stgUpdates + + + + + + + + + + + + + + SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest + + + + + + + + + + + + + + + + + + (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + + + + + + + + + + + + + + + + + Update Dest + Set Dest.ColA = Upd.ColA + ,Dest.ColB = Upd.ColB + ,Dest.ColC = Upd.ColC + From tblDest Dest + Join stgUpdates Upd + On Upd.ColID = Dest.ColID + + + + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoadPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoadPackage.dtsx new file mode 100644 index 0000000..c75c86c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoadPackage.dtsx @@ -0,0 +1,889 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + + 1252 + false + 0 + + + + + + + + + + + + + + ColID + + + + + + + + + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest + select * from (SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + + + + + + + + + + + + (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColA]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColB]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColC]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColC]}) + (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblDest + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source1.dtsx new file mode 100644 index 0000000..1e8aea0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source1.dtsx @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM [dbo].[Source1] + + + 1252 + false + 2 + + + + + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.Source1 + + select * from ( + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.Source1 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColA]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColB]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColC]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColC]}) + + + (ColID != Dest_ColID) || (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source1 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.Source1 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source2.dtsx new file mode 100644 index 0000000..f921bb5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source2.dtsx @@ -0,0 +1,858 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [Name], [Value] FROM [dbo].[Source2] + + + 1252 + false + 2 + + + + + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + Name + + + + + Value + + + + + + + + + + + + + + + + + + SELECT [ColID], [Name], [Value] FROM dbo.Source2 + + select * from ( + SELECT [ColID], [Name], [Value] FROM dbo.Source2 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Name" dataType="DT_STR" length="25" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="Value" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[Name]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_Name]}) || (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[Value]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_Value]}) + + + (ColID != Dest_ColID) || (Name != Dest_Name) || (Value != Dest_Value) + + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source2 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.Source2 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source3.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source3.dtsx new file mode 100644 index 0000000..56301d8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_Source3.dtsx @@ -0,0 +1,858 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [Value], [Name] FROM [dbo].[Source3] + + + 1252 + false + 2 + + + + + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + Value + + + + + Name + + + + + + + + + + + + + + + + + + SELECT [ColID], [Value], [Name] FROM dbo.Source3 + + select * from ( + SELECT [ColID], [Value], [Name] FROM dbo.Source3 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Value" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Name" dataType="DT_STR" length="100" precision="0" scale="0" codePage="1252" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[Value]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_Value]}) || (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[Name]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_Name]}) + + + (ColID != Dest_ColID) || (Value != Dest_Value) || (Name != Dest_Name) + + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source3 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.Source3 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_tblSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_tblSource.dtsx new file mode 100644 index 0000000..95ef2e9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/IncrementalLoad_tblSource.dtsx @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM [dbo].[tblSource] + + + 1252 + false + 2 + + + + + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.tblSource + + select * from ( + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.tblSource + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColID]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColA]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColB]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColC]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColC]}) + + + (ColID != Dest_ColID) || (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + + 0 + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_tblSource + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch17/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/TestBimlPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/TestBimlPackage.dtsx new file mode 100644 index 0000000..09bdf06 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/TestBimlPackage.dtsx @@ -0,0 +1,17 @@ + + + 6 + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/WorkingBimlScript.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/WorkingBimlScript.biml new file mode 100644 index 0000000..293f820 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/WorkingBimlScript.biml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + Truncate Table stgUpdates + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Update Dest + Set Dest.ColA = Upd.ColA + ,Dest.ColB = Upd.ColB + ,Dest.ColC = Upd.ColC +From tblDest Dest +Join stgUpdates Upd + On Upd.ColID = Dest.ColID + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/_ForEachBimlScript.biml b/SQL Server 2012 Integration Services Design Patterns/Ch17/_ForEachBimlScript.biml new file mode 100644 index 0000000..7f445a9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/_ForEachBimlScript.biml @@ -0,0 +1,78 @@ +<#@ import namespace="System.Data" #> +<#@ import namespace="Varigence.Hadron.CoreLowerer.SchemaManagement" #> +<# var connection = SchemaManager.CreateConnectionNode("SchemaProvider", "Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI;"); #> +<# var tables = connection.GenerateTableNodes(); #> + + + + + + + <# foreach (var table in tables) { #> + + + + + Truncate Table stgUpdates_<#=table.Name#> + + + + + + + SELECT <#=table.GetColumnList()#> FROM <#=table.SchemaQualifiedName#> + + + + + SELECT <#=table.GetColumnList()#> FROM dbo.<#=table.Name#> + + + <# foreach (var keyColumn in table.Keys[0].Columns) { #> + + <# } #> + + + <# foreach (var col in table.Columns) { #> + + <# } #> + + + + + + <# string exp = ""; + foreach (var colex in table.Columns) { exp += "(" + colex + " != Dest_" + colex + ") || "; } #> + + <#=exp.Substring(0, exp.Length - 4)#> + + + + + " ConnectionName="SSISIncrementalLoad_Stage"> + + + + + + + + + + + <# string upd ="Update Dest Set "; + foreach (var colex in table.Columns.Where(column => !table.Keys[0].Columns.Select(keyColumn => keyColumn.Column).Contains(column))) { + upd = upd + "Dest." + colex + " = Upd." + colex + ","; + } + var updc = upd.Substring(0,upd.Length-1) + " From " + table.SchemaQualifiedName + " Dest Join [" + table.Schema.Name + "].[stgUpdates_" + table.Name + "] Upd On Upd." + table.Keys[0].Columns[0].Column + " = Dest." + table.Keys[0].Columns[0].Column;#> + + <#=updc#> + + + + + <# } #> + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/bin/Development/BIML.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch17/bin/Development/BIML.ispac new file mode 100644 index 0000000..6b94343 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch17/bin/Development/BIML.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/dll/BimlEngine.dll b/SQL Server 2012 Integration Services Design Patterns/Ch17/dll/BimlEngine.dll new file mode 100644 index 0000000..9322d6a Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch17/dll/BimlEngine.dll differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/2012IncrementalLoadPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/2012IncrementalLoadPackage.dtsx new file mode 100644 index 0000000..23125a5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/2012IncrementalLoadPackage.dtsx @@ -0,0 +1,731 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblDest + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT * FROM dbo.tblDest + select * from (SELECT * FROM dbo.tblDest) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Andy2012IncrementalLoadPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Andy2012IncrementalLoadPackage.dtsx new file mode 100644 index 0000000..9f5c992 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Andy2012IncrementalLoadPackage.dtsx @@ -0,0 +1,894 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest + select * from (SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColA]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColB]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColC]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColC]}) + (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.stgUpdates + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblDest + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BIML.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BIML.dtproj new file mode 100644 index 0000000..f4e043f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BIML.dtproj @@ -0,0 +1,1073 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + BIML.database + BIML.database + + + + + + + + {31c1989a-123c-4936-814b-dd94f79089d2} + BIML + 1 + 0 + 0 + + + 2012-04-04T07:15:26.0729899-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAbktffIHTdke86Vlq3tUs0wAAAAACAAAAAAAQZgAAAAEAACAAAAAl5ye/PhqTg62mQjM1TdEAa91DfM4incjgE0bir5Hl9AAAAAAOgAAAAAIAACAAAAAQAvy0ryceGpHEY0wYrQo0CA4087G66xu77/0yqNhNrpAAAAAxhK9RvgDkqvdL90rr9M6rE765KgZNC7lzaqoAstfMOmpv6SLzTEKQSvYoWMFf2/uLYX+N/kGFXR5HV/pE66Fqg8j70piuomUgStmSW2w25/3vFzrsekScI2p/P7uQ/mNzifm6jDE5JedynmrXnM7EPwM5s69gPSPTTfCQX2Biw5S+CSxzXKSx0odekAjOGGJAAAAAODlHEeQFcgkxnAz9maEOaA0jn/ArmYt9yjBjHxYV6aOzg+NjOt64SVrI7t7BRwoYS7uDng57dy2XrzHwQp2qtA== + 1 + + + + + + + + + + + + + + + + {C9DF041B-1015-41DC-A943-E6173960112B} + TestBimlPackage + 1 + 0 + 0 + + + {B77A9AA3-C187-4FCB-AD64-5DB19667AB49} + 6 + + + 1 + + + + + + {3E03995A-07B0-48E0-A356-EC542B5BBF42} + IncrementalLoadPackage + 1 + 0 + 0 + + + {400B8E3D-7821-4E0E-9293-C1F941D23331} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Dest;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Dest + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {FCB3FA6F-DBA5-492E-94BE-74B684220DFC} + IncrementalLoad_Source1 + 1 + 0 + 0 + + + {5D632F20-27A2-4C92-A7A6-5893C7286904} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {F676E846-FAB9-4DF2-9E37-04D587E1E9E2} + IncrementalLoad_Source2 + 1 + 0 + 0 + + + {4BFE6CFB-2D5F-4CFA-BCF4-285E1D891D42} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {612CEA50-5CBA-4F1E-B9D7-6CAD1365837E} + IncrementalLoad_Source3 + 1 + 0 + 0 + + + {C147806C-44B9-4051-A1D4-BB59DD19813F} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {A6B49F8F-6831-47BE-B767-DF7D19DD2FCD} + IncrementalLoad_tblSource + 1 + 0 + 0 + + + {0ED055A2-A6B0-4C5B-AFD6-A5D3E89BB1C0} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Source;Provider=SQLNCLI11.1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Source + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=SSISIncrementalLoad_Stage;Provider=SQLNCLI11.1;OLE DB Services=1;Integrated Security=SSPI; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISIncrementalLoad_Stage + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + IncrementalLoad.biml + IncrementalLoad.biml + + + FirstBimlScript.biml + FirstBimlScript.biml + + + ForEachBimlScript.biml + ForEachBimlScript.biml + + + BimlScript1.biml + BimlScript1.biml + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-04-05T14:33:35.28058Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BuildLog.xml new file mode 100644 index 0000000..b24be29 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/BuildLog.xml @@ -0,0 +1,40 @@ + + + + BIML + 2012-05-17T22:57:20.4219365Z + EncryptSensitiveWithUserKey + + + + TestBimlPackage.dtsx + 2012-05-17T22:36:20.7145109Z + EncryptSensitiveWithUserKey + + + IncrementalLoadPackage.dtsx + 2012-05-17T22:48:11.6952286Z + EncryptSensitiveWithUserKey + + + IncrementalLoad_Source1.dtsx + 2012-05-17T22:56:38.5696534Z + EncryptSensitiveWithUserKey + + + IncrementalLoad_Source2.dtsx + 2012-05-17T22:56:38.6028566Z + EncryptSensitiveWithUserKey + + + IncrementalLoad_Source3.dtsx + 2012-05-17T22:56:38.6389894Z + EncryptSensitiveWithUserKey + + + IncrementalLoad_tblSource.dtsx + 2012-05-17T22:56:38.6760988Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoadPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoadPackage.dtsx new file mode 100644 index 0000000..5fe3f4e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoadPackage.dtsx @@ -0,0 +1,894 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest + select * from (SELECT ColID, ColA, ColB, ColC FROM dbo.tblDest) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColA]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColB]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\Load tblDest\tblSource Source.Outputs[Output].Columns[ColC]} != #{Package\Load tblDest\Correlate.Outputs[Match].Columns[Dest_ColC]}) + (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.stgUpdates + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblDest + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source1.dtsx new file mode 100644 index 0000000..3f8222f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source1.dtsx @@ -0,0 +1,930 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.Source1 + + select * from ( + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.Source1 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColA]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColB]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\LoadSource1\Source1 Source.Outputs[Output].Columns[ColC]} != #{Package\LoadSource1\Correlate.Outputs[Match].Columns[Dest_ColC]}) + + + (ColID != Dest_ColID) || (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.Source1 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM [dbo].[Source1] + + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source1 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source2.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source2.dtsx new file mode 100644 index 0000000..c5a9abe --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source2.dtsx @@ -0,0 +1,863 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT [ColID], [Name], [Value] FROM dbo.Source2 + + select * from ( + SELECT [ColID], [Name], [Value] FROM dbo.Source2 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Name" dataType="DT_STR" length="25" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="Value" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + Name + + + + + Value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[Name]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_Name]}) || (#{Package\LoadSource2\Source2 Source.Outputs[Output].Columns[Value]} != #{Package\LoadSource2\Correlate.Outputs[Match].Columns[Dest_Value]}) + + + (ColID != Dest_ColID) || (Name != Dest_Name) || (Value != Dest_Value) + + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.Source2 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [Name], [Value] FROM [dbo].[Source2] + + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source2 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source3.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source3.dtsx new file mode 100644 index 0000000..440e53a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_Source3.dtsx @@ -0,0 +1,863 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT [ColID], [Value], [Name] FROM dbo.Source3 + + select * from ( + SELECT [ColID], [Value], [Name] FROM dbo.Source3 + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Value" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="Name" dataType="DT_STR" length="100" precision="0" scale="0" codePage="1252" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + Value + + + + + Name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[ColID]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[Value]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_Value]}) || (#{Package\LoadSource3\Source3 Source.Outputs[Output].Columns[Name]} != #{Package\LoadSource3\Correlate.Outputs[Match].Columns[Dest_Name]}) + + + (ColID != Dest_ColID) || (Value != Dest_Value) || (Name != Dest_Name) + + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.Source3 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [Value], [Name] FROM [dbo].[Source3] + + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_Source3 + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_tblSource.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_tblSource.dtsx new file mode 100644 index 0000000..9663fe6 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/IncrementalLoad_tblSource.dtsx @@ -0,0 +1,930 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.tblSource + + select * from ( + SELECT [ColID], [ColA], [ColB], [ColC] FROM dbo.tblSource + ) [refTable] where [refTable].[ColID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata> + <referenceColumns> + <referenceColumn name="ColID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColA" dataType="DT_STR" length="10" precision="0" scale="0" codePage="1252" /> + <referenceColumn name="ColB" dataType="DT_DBTIMESTAMP" length="0" precision="0" scale="0" codePage="0" /> + <referenceColumn name="ColC" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0" /> + </referenceColumns> +</referenceMetadata> + #{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColID]}; + 1252 + + + + + + + + + + ColID + + + + + + + + + + + + + ColID + + + + + ColA + + + + + ColB + + + + + ColC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColID]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColID]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColA]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColA]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColB]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColB]}) || (#{Package\LoadtblSource\tblSource Source.Outputs[Output].Columns[ColC]} != #{Package\LoadtblSource\Correlate.Outputs[Match].Columns[Dest_ColC]}) + + + (ColID != Dest_ColID) || (ColA != Dest_ColA) || (ColB != Dest_ColB) || (ColC != Dest_ColC) + + 0 + + + + + + true + + + + + + + + + + + + + + + 0 + dbo.stgUpdates_tblSource + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + dbo.tblSource + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + SELECT [ColID], [ColA], [ColB], [ColC] FROM [dbo].[tblSource] + + + 1252 + false + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Package.dtsx new file mode 100644 index 0000000..b1ae1ef --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Package.dtsx @@ -0,0 +1,19 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/TestBimlPackage.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/TestBimlPackage.dtsx new file mode 100644 index 0000000..9316766 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/obj/Development/TestBimlPackage.dtsx @@ -0,0 +1,18 @@ + + + 6 + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample.ssmssln b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample.ssmssln new file mode 100644 index 0000000..6b39c22 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample.ssmssln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# SQL Server Management Studio Solution File, Format Version 11.00 +Project("{4F2E2C19-372F-40D8-9FA7-9D2138C6997A}") = "BimlSample", "BimlSample\BimlSample.ssmssqlproj", "{E291D7C7-A6FA-42B8-BECA-3C4241660DE2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Default|Default = Default|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E291D7C7-A6FA-42B8-BECA-3C4241660DE2}.Default|Default.ActiveCfg = Default + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/0_CreateDatabases.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/0_CreateDatabases.sql new file mode 100644 index 0000000..c665cc4 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/0_CreateDatabases.sql differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/10_ ResetRows.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/10_ ResetRows.sql new file mode 100644 index 0000000..c1764da --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/10_ ResetRows.sql @@ -0,0 +1,54 @@ +Use SSISIncrementalLoad_Source +Go + +TRUNCATE TABLE dbo.tblSource + +-- insert an "unchanged" row, a "changed" row, and a "new" row +INSERT INTO dbo.tblSource +(ColID,ColA,ColB,ColC) +VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'B', '1/1/2007 12:02 AM', -2), + (2, 'N', '1/1/2007 12:03 AM', -3) + +Use SSISIncrementalLoad_Stage +Go + +TRUNCATE TABLE dbo.stgUpdates_tblSource +TRUNCATE TABLE dbo.tblSource + +-- insert an "unchanged" row and a "changed" row +INSERT INTO dbo.tblSource +(ColID,ColA,ColB,ColC) +VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'C', '1/1/2007 12:02 AM', -2) + + Truncate Table dbo.stgUpdates_Source1 + Truncate Table dbo.Source1 + + INSERT INTO dbo.Source1 + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'Z', '1/1/2007 12:02 AM', -2) + + Truncate Table dbo.stgUpdates_Source2 + Truncate Table dbo.Source2 + + INSERT INTO dbo.Source2 + (ColID,Name,Value) + VALUES + (0, 'Willie', 11), + (1, 'Waylon', 22), + (2, 'Stevie', 33) + + Truncate Table dbo.stgUpdates_Source3 + Truncate Table dbo.Source3 + + INSERT INTO dbo.Source3 + (ColID,Value,Name) + VALUES + (0, 101, 'Good-Hearted Woman'), + (1, 202, 'Are You Sure Hank Done It This Way?') + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/1_CreateSourceTable.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/1_CreateSourceTable.sql new file mode 100644 index 0000000..462cec9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/1_CreateSourceTable.sql @@ -0,0 +1,13 @@ +USE SSISIncrementalLoad_Source +GO + +If Not Exists(Select name + From sys.tables + Where name = 'tblSource') +CREATE TABLE dbo.tblSource + (ColID int NOT NULL + ,ColA varchar(10) NULL + ,ColB datetime NULL constraint df_ColB default (getDate()) + ,ColC int NULL + ,constraint PK_tblSource primary key clustered (ColID)) + diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/2_CreateDestTable.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/2_CreateDestTable.sql new file mode 100644 index 0000000..97c61f3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/2_CreateDestTable.sql @@ -0,0 +1,20 @@ +USE SSISIncrementalLoad_Dest +GO + +If Not Exists(Select name + From sys.tables + Where name = 'tblDest') +CREATE TABLE dbo.tblDest + (ColID int NOT NULL + ,ColA varchar(10) NULL + ,ColB datetime NULL + ,ColC int NULL) + + If Not Exists(Select name + From sys.tables + Where name = 'stgUpdates') + CREATE TABLE dbo.stgUpdates + (ColID int NULL + ,ColA varchar(10) NULL + ,ColB datetime NULL + ,ColC int NULL) \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/3_LoadTables.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/3_LoadTables.sql new file mode 100644 index 0000000..2f60ca0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/3_LoadTables.sql @@ -0,0 +1,22 @@ +USE SSISIncrementalLoad_Source +GO + + -- insert an "unchanged" row +INSERT INTO dbo.tblSource + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'B', '1/1/2007 12:02 AM', -2), + (2, 'N', '1/1/2007 12:03 AM', -3) + + + +USE SSISIncrementalLoad_Dest +GO + + -- insert an "unchanged" row +INSERT INTO dbo.tblDest + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'C', '1/1/2007 12:02 AM', -2) diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/4_LoadNewRows.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/4_LoadNewRows.sql new file mode 100644 index 0000000..6b14d80 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/4_LoadNewRows.sql @@ -0,0 +1,16 @@ + +SELECT s.ColID, s.ColA, s.ColB, s.ColC +FROM SSISIncrementalLoad_Source.dbo.tblSource s +LEFT JOIN SSISIncrementalLoad_Dest.dbo.tblDest d ON d.ColID = s.ColID +WHERE d.ColID IS NULL + +INSERT INTO SSISIncrementalLoad_Dest.dbo.tblDest +(ColID, ColA, ColB, ColC) +SELECT s.ColID, s.ColA, s.ColB, s.ColC +FROM SSISIncrementalLoad_Source.dbo.tblSource s +LEFT JOIN SSISIncrementalLoad_Dest.dbo.tblDest d + ON d.ColID = s.ColID +WHERE d.ColID IS NULL + +SELECT ColID, ColA, ColB, ColC +FROM SSISIncrementalLoad_Dest.dbo.tblDest \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/5_LoadChangedRows.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/5_LoadChangedRows.sql new file mode 100644 index 0000000..5d0ede0 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/5_LoadChangedRows.sql @@ -0,0 +1,27 @@ + +SELECT d.ColID, d.ColA, d.ColB, d.ColC--, s.* +FROM SSISIncrementalLoad_Dest.dbo.tblDest d +INNER JOIN SSISIncrementalLoad_Source.dbo.tblSource s + ON s.ColID = d.ColID +WHERE ( + (d.ColA != s.ColA) + OR (d.ColB != s.ColB) + OR (d.ColC != s.ColC) + ) + + +UPDATE d +SET + d.ColA = s.ColA +,d.ColB = s.ColB +,d.ColC = s.ColC +FROM SSISIncrementalLoad_Dest.dbo.tblDest d +INNER JOIN SSISIncrementalLoad_Source.dbo.tblSource s ON s.ColID = d.ColID +WHERE ( + (d.ColA != s.ColA) + OR (d.ColB != s.ColB) + OR (d.ColC != s.ColC) + ) + +SELECT ColID, ColA, ColB, ColC +FROM SSISIncrementalLoad_Dest.dbo.tblDest diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/6_ ResetRows.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/6_ ResetRows.sql new file mode 100644 index 0000000..10c6bcd --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/6_ ResetRows.sql @@ -0,0 +1,25 @@ +Use SSISIncrementalLoad_Source +Go + +TRUNCATE TABLE dbo.tblSource + +-- insert an "unchanged" row, a "changed" row, and a "new" row +INSERT INTO dbo.tblSource +(ColID,ColA,ColB,ColC) +VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'B', '1/1/2007 12:02 AM', -2), + (2, 'N', '1/1/2007 12:03 AM', -3) + +Use SSISIncrementalLoad_Dest +Go + +TRUNCATE TABLE dbo.stgUpdates +TRUNCATE TABLE dbo.tblDest + +-- insert an "unchanged" row and a "changed" row +INSERT INTO dbo.tblDest +(ColID,ColA,ColB,ColC) +VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'C', '1/1/2007 12:02 AM', -2) diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/7_AlterDestTable.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/7_AlterDestTable.sql new file mode 100644 index 0000000..ad76777 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/7_AlterDestTable.sql @@ -0,0 +1,6 @@ + +USE SSISIncrementalLoad_Dest +GO + +ALTER TABLE dbo.tblDest + Add ColD int NULL diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/8_CreateMoreSourceTables.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/8_CreateMoreSourceTables.sql new file mode 100644 index 0000000..2bd2dad --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/8_CreateMoreSourceTables.sql @@ -0,0 +1,68 @@ +USE SSISIncrementalLoad_Source +GO + + -- Create Source1 +If Not Exists(Select name + From sys.tables + Where name = 'Source1') +CREATE TABLE dbo.Source1 + (ColID int NOT NULL + ,ColA varchar(10) NULL + ,ColB datetime NULL + ,ColC int NULL + ,constraint PK_Source1 primary key clustered (ColID)) + Go + + -- Load Source1 + INSERT INTO dbo.Source1 + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'B', '1/1/2007 12:02 AM', -2), + (2, 'C', '1/1/2007 12:03 AM', -3), + (3, 'D', '1/1/2007 12:04 AM', -4), + (4, 'E', '1/1/2007 12:05 AM', -5), + (5, 'F', '1/1/2007 12:06 AM', -6) + + + -- Create Source1 +If Not Exists(Select name + From sys.tables + Where name = 'Source2') +CREATE TABLE dbo.Source2 + (ColID int NOT NULL + ,Name varchar(25) NULL + ,Value int NULL + ,constraint PK_Source2 primary key clustered (ColID)) + Go + + -- Load Source2 + INSERT INTO dbo.Source2 + (ColID,Name,Value) + VALUES + (0, 'Willie', 11), + (1, 'Waylon', 22), + (2, 'Stevie Ray', 33), + (3, 'Johnny', 44), + (4, 'Kris', 55) + + -- Create Source3 +If Not Exists(Select name + From sys.tables + Where name = 'Source3') +CREATE TABLE dbo.Source3 + (ColID int NOT NULL + ,Value int NULL + ,Name varchar(100) NULL + ,constraint PK_Source3 primary key clustered (ColID)) + Go + + -- Load Source3 + INSERT INTO dbo.Source3 + (ColID,Value,Name) + VALUES + (0, 101, 'Good-Hearted Woman'), + (1, 202, 'Lonesome, Onry, and Mean'), + (2, 303, 'The Sky Is Crying'), + (3, 404, 'Ghost Riders in the Sky'), + (4, 505, 'Sunday Morning, Coming Down') diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateMoreDestTables.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateMoreDestTables.sql new file mode 100644 index 0000000..e73fdbb --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateMoreDestTables.sql @@ -0,0 +1,57 @@ +USE SSISIncrementalLoad_Dest +GO + +If Not Exists(Select name + From sys.tables + Where name = 'Dest1') +CREATE TABLE dbo.Dest1 + (ColID int NOT NULL + ,ColA varchar(10) NULL + ,ColB datetime NULL + ,ColC int NULL + ,constraint PK_Dest1 primary key clustered (ColID)) + Go + + -- Load Dest1 + INSERT INTO dbo.Dest1 + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'Z', '1/1/2007 12:02 AM', -2) + + -- Create Dest1 +If Not Exists(Select name + From sys.tables + Where name = 'Dest2') +CREATE TABLE dbo.Dest2 + (ColID int NOT NULL + ,Name varchar(25) NULL + ,Value int NULL + ,constraint PK_Dest2 primary key clustered (ColID)) + Go + + -- Load Dest2 + INSERT INTO dbo.Dest2 + (ColID,Name,Value) + VALUES + (0, 'Willie', 11), + (1, 'Waylon', 22), + (2, 'Stevie', 33) + + -- Create Dest3 +If Not Exists(Select name + From sys.tables + Where name = 'Dest3') +CREATE TABLE dbo.Dest3 + (ColID int NOT NULL + ,Value int NULL + ,Name varchar(100) NULL + ,constraint PK_Dest3 primary key clustered (ColID)) + Go + + -- Load Dest3 + INSERT INTO dbo.Dest3 + (ColID,Value,Name) + VALUES + (0, 101, 'Good-Hearted Woman'), + (1, 202, 'Are You Sure Hank Done It This Way?') diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateStageTables.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateStageTables.sql new file mode 100644 index 0000000..59d6aac --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/9_CreateStageTables.sql @@ -0,0 +1,100 @@ +Use master +Go + +If Not Exists(Select name + From sys.databases + Where name = 'SSISIncrementalLoad_Stage') + Create Database SSISIncrementalLoad_Stage +Go + +Use SSISIncrementalLoad_Stage +Go + + +CREATE TABLE dbo.tblSource( + ColID int NOT NULL, + ColA varchar(10) NULL, + ColB datetime NULL, + ColC int NULL +) + +CREATE TABLE dbo.stgUpdates_tblSource( + ColID int NOT NULL, + ColA varchar(10) NULL, + ColB datetime NULL, + ColC int NULL +) +Go + +INSERT INTO dbo.tblSource + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'B', '1/1/2007 12:02 AM', -2), + (2, 'N', '1/1/2007 12:03 AM', -3) + Go + + +CREATE TABLE dbo.Source1( + ColID int NOT NULL, + ColA varchar(10) NULL, + ColB datetime NULL, + ColC int NULL +) + +CREATE TABLE dbo.stgUpdates_Source1( + ColID int NOT NULL, + ColA varchar(10) NULL, + ColB datetime NULL, + ColC int NULL +) +Go + + INSERT INTO dbo.Source1 + (ColID,ColA,ColB,ColC) + VALUES + (0, 'A', '1/1/2007 12:01 AM', -1), + (1, 'Z', '1/1/2007 12:02 AM', -2) +Go + + +CREATE TABLE dbo.Source2( + ColID int NOT NULL, + Name varchar(25) NULL, + Value int NULL +) + +CREATE TABLE dbo.stgUpdates_Source2( + ColID int NOT NULL, + Name varchar(25) NULL, + Value int NULL +) +Go + + INSERT INTO dbo.Source2 + (ColID,Name,Value) + VALUES + (0, 'Willie', 11), + (1, 'Waylon', 22), + (2, 'Stevie', 33) +Go + +CREATE TABLE dbo.Source3( + ColID int NOT NULL, + Value int NULL, + Name varchar(100) NULL +) + +CREATE TABLE dbo.stgUpdates_Source3( + ColID int NOT NULL, + Value int NULL, + Name varchar(100) NULL +) +Go + + INSERT INTO dbo.Source3 + (ColID,Value,Name) + VALUES + (0, 101, 'Good-Hearted Woman'), + (1, 202, 'Are You Sure Hank Done It This Way?') +Go diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/BimlSample.ssmssqlproj b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/BimlSample.ssmssqlproj new file mode 100644 index 0000000..cf2a3d8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/BimlSample.ssmssqlproj @@ -0,0 +1,88 @@ + + + + + + + 2012-03-03T14:02:18.8990781-05:00 + SQL + localhost + + Windows Authentication + + 15 + 0 + NotSpecified + Microsoft SQL Server Management Studio - Query + + + + + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 0_CreateDatabases.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 1_CreateSourceTable.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 2_CreateDestTable.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 3_LoadTables.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 4_LoadNewRows.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + 5_LoadChangedRows.sql + + + + + + 6_ ResetRows.sql + + + + + + 7_AlterDestTable.sql + + + + + + DropSampleDatabases.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:localhost:True + localhost + + SELECT Tables.sql + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/DropSampleDatabases.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/DropSampleDatabases.sql new file mode 100644 index 0000000..8012fc9 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/DropSampleDatabases.sql @@ -0,0 +1,13 @@ +use master +go + +If Exists(Select name + From sys.databases + Where name = 'SSISIncrementalLoad_Source') + DROP DATABASE [SSISIncrementalLoad_Source] + + +If Exists(Select name + From sys.databases + Where name = 'SSISIncrementalLoad_Dest') + DROP DATABASE [SSISIncrementalLoad_Dest] \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/SELECT Tables.sql b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/SELECT Tables.sql new file mode 100644 index 0000000..50c3ed1 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSample/SELECT Tables.sql differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSampleSQL.zip b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSampleSQL.zip new file mode 100644 index 0000000..01ddee7 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch17/sql/BimlSampleSQL.zip differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.database b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.database new file mode 100644 index 0000000..f3722d8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.database @@ -0,0 +1,13 @@ + + ConfigurationChapter + ConfigurationChapter + 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/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj new file mode 100644 index 0000000..868794a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj @@ -0,0 +1,534 @@ + + + Project + 11.0.1712.3 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + ConfigurationChapter.database + ConfigurationChapter.database + + + + + + + + {3f30b75b-1ac8-478a-bd24-af5d8d490b4a} + ConfigurationChapter + 1 + 0 + 0 + + + 2011-10-16T10:09:45.3649707-07:00 + REDMOND\mmasson + MMASSON10 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAMti1MQhBVUmrempdRV+x6gAAAAACAAAAAAADZgAAwAAAABAAAADD5IkbaYPSHbh6CChEmOOtAAAAAASAAACgAAAAEAAAANEE1ocBL7IMJI3Ym/XyqTCIAAAAsEdRW3tvKVSJaFX0qUPUscf0dx8AlGjNIHBhmhzF7stZ12JjVSclqMPD2ZBFdbayeg57U6XJePe4RV3sjPvD3Yk51fCdS0dgIsxvz9jQ+vIqyaL1LNF6ZhSH9U0Uohdg+KxXbyCHeGeRrNDVK69H+EVF0SrbIT5LRdYhrK/pVBABNWqINvQzaxQAAAAHmkjNJp36Y0U/K1j6ny5MHAeW/Q== + 1 + + + + + + + + + + + + {171F18C7-03C8-4AD0-BB81-8B7308D06742} + Package + 1 + 0 + 10 + + + {7018A367-2872-4EEC-8FC0-FC80E737D1C9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=Test;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + Test + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {C35885CF-98F2-4709-ADCB-3B3F0FBD3866} + Package1 + 1 + 0 + 3 + + + {B4D89A42-8C7A-45A6-B46A-C04088DF4FF6} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Demos\Data\RaggedRight.txt + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-10-16T17:44:16.1336369Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj.user new file mode 100644 index 0000000..6b0ca05 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.dtproj.user @@ -0,0 +1,21 @@ + + + + + Development + + + + false + true + + + LastModifiedTime + LastModifiedTime + 2011-10-16T17:44:16.134637Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.sln b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.sln new file mode 100644 index 0000000..3d35d1c --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/ConfigurationChapter.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "ConfigurationChapter", "ConfigurationChapter.dtproj", "{18A9FCD7-A981-4B79-97A6-D528679B7C41}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {18A9FCD7-A981-4B79-97A6-D528679B7C41}.Development|Default.ActiveCfg = Development + {18A9FCD7-A981-4B79-97A6-D528679B7C41}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch18/Package.dtsx new file mode 100644 index 0000000..1e2bbec --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/Package.dtsx @@ -0,0 +1,311 @@ + + + 6 + + + + + + + + @[User::Directory] + "\\" + @[User::FileName] + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/Package1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch18/Package1.dtsx new file mode 100644 index 0000000..0b8ce1d --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/Package1.dtsx @@ -0,0 +1,717 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {5B10DB09-BCC1-4118-861C-6FF1E2300BA0} + Library + Properties + ST_28e7f46d4b8f4df59f0282a344285fce + ST_28e7f46d4b8f4df59f0282a344285fce + v4.0 + 512 + + + 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_ST110 + + + + +]]> + +// 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_28e7f46d4b8f4df59f0282a344285fce.Properties.Settings.get_Default():ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Sett" + + "ings")] + +namespace ST_28e7f46d4b8f4df59f0282a344285fce.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; + } + } + } +}]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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() +{ + // TODO: This would be set from an external configuration file + const string SourceSystemConnectionString = "..."; + + Dts.TaskResult = (int)ScriptResults.Success; + + if (Dts.Connections.Contains("SourceSystem")) + { + ConnectionManager cm = Dts.Connections["SourceSystem"]; + cm.ConnectionString = SourceSystemConnectionString; + } + else + { + // The expected connection manager wasn't found - log is and set an error status + Dts.Events.FireError(0, "Script Task", + "Could not find the SourceSystem connection manager", + string.Empty, 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 + + } +}]]> + + + + ST_28e7f46d4b8f4df59f0282a344285fce + ST_28e7f46d4b8f4df59f0282a344285fce + msBuild + {4FCBFBB1-FBC1-432E-83B1-BE09EEFAB26A} + + + + + + + + + + +]]> + + + + + + + +]]> + +// 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_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace ST_28e7f46d4b8f4df59f0282a344285fce.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_28e7f46d4b8f4df59f0282a344285fce.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 +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAENqm04AAAAAAAAAAOAAAiELAQgAABAAAAAIAAAAAAAAPi8A +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAMAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAPAuAABLAAAAAEAAAFAEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAARA8AAAAgAAAAEAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAFAEAAAAQAAAAAYAAAASAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAGAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAg +LwAAAAAAAEgAAAACAAUAACIAAPAMAAABAAAAAAAAAEghAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKA4AAAoqEzADAC0AAAABAAARfgEAAAQtIHIBAABw0AIA +AAIoDwAACm8QAAAKcxEAAAoKBoABAAAEfgEAAAQqGn4CAAAEKh4CgAIAAAQqGn4DAAAEKi5zBgAA +BoADAAAEKh4CKBQAAAoqABMwBgB0AAAAAgAAEQIoFgAAChZvFwAACgIoFgAACm8YAAAKcnMAAHBv +GQAACiwiAigWAAAKbxgAAApycwAAcG8aAAAKCgZyjQAAcG8bAAAKKgIoFgAACm8cAAAKFnKVAABw +cq0AAHB+HQAAChZvHgAACiYCKBYAAAoXbxcAAAoqHgIoHwAACioAAAAAtAAAAM7K774BAAAAkQAA +AGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAu +MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lz +dGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJT +SkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANwDAAAjfgAASAQAAPwFAAAjU3RyaW5n +cwAAAABECgAAFAEAACNVUwBYCwAAEAAAACNHVUlEAAAAaAsAAIgBAAAjQmxvYgAAAAAAAAACAAAB +Vx2iAQkDAAAA+iUzABYAAAEAAAAfAAAABQAAAAYAAAAJAAAAAQAAAB8AAAACAAAADwAAAAIAAAAC +AAAAAwAAAAQAAAABAAAABAAAAAEAAAABAAAAAAAKAAEAAAAAAAYAwQC6AAoA3QDIAA4APQEUAQYA +WQG6AAYAbwFeAQYAoAGLAQYAVwI9AgYAggJwAgYAmQJwAgYAtgJwAgYA1QJwAgYA7gJwAgYABwNw +AgYAIgNwAgYAPQNwAgYAVgNwAgYAjwNvAwYArwNvAwYA4APNAwYA/QO6AAYAAgS6AAYAJgRwAgoA +UgQ8BAoAawQ8BAYAgARvAw4AogQUAQ4AxAQUARIALAUMBRIAUQUMBQ4AgQUUAQYAoAW6AAAAAAAB +AAAAAAABAAEAAAAQADIAPAAFAAEAAQAAARAAawA8AAkAAwAFAAEAEAB0AH8ADQAEAAgAAwEAAKMA +AAARAAQACgARAH8BEwARAKwBFwARAPYBOQAGBh8CRwBWgCcCSgBWgC8CSgBQIAAAAACDGLwBGwAB +AFggAAAAAJMIwgEfAAEAkSAAAAAAkwjWASQAAQCYIAAAAACTCOIBKQABAKAgAAAAAJYIBgI9AAIA +syAAAAAAhhi8ARsAAgCnIAAAAACRGJsEiQACALwgAAAAAIYAGgIbAAIAPCEAAAAAhhi8ARsAAgAA +AAEANwI5ALwBWABBALwBWABJALwBWABRALwBWABZALwBWABhALwBWABpALwBWABxALwBWAB5ALwB +WACBALwBWACJALwBXQCRALwBGwCZALwBGwAJALwBGwChABQEYgChAC8EaQApALwBbgC5ALwBegDJ +ALwBGwARALwBGwDRALwBGwAZANYEjQDZAN4EXQDZADgFkgDhAEgFlwDhAGMFnADpAGwFWADZAJUF +ogD5AKcFpwDxAK0FqgAZALwBGwAIABQATgAIABgAUwApAJMAgAAuABsAKQEuACMAKQEuAGMAZwEu +AAsAuAAuABMAAAEuADMAAAEuACsALwEuADsAPgEuAEMAKQEuAFsAXgFDAGsAUwBJAJMAgABhAJsA +UwCDAKsAUwB1ALMAAgABAAMAAwAAAG8BLwAAAO4BNAAAABICQgACAAIAAwACAAMABQABAAQABQAC +AAUABwAEgAAAAQAAANIQoW0AAAAAAAB/AAAABAAAAAAAAAAAAAAAAQCxAAAAAAAEAAAAAAAAAAAA +AAABALoAAAAAAAsAAAAAAAAAAAAAAAoA9QAAAAAACwAAAAAAAAAAAAAACgDtBAAAAAAAAAAAAQAA +ALcFAAAFAAQAAAAAPE1vZHVsZT4AU1RfMjhlN2Y0NmQ0YjhmNGRmNTlmMDI4MmEzNDQyODVmY2Uu +ZGxsAFJlc291cmNlcwBTVF8yOGU3ZjQ2ZDRiOGY0ZGY1OWYwMjgyYTM0NDI4NWZjZS5Qcm9wZXJ0 +aWVzAFNldHRpbmdzAFNjcmlwdE1haW4AU1RfMjhlN2Y0NmQ0YjhmNGRmNTlmMDI4MmEzNDQyODVm +Y2UAU2NyaXB0UmVzdWx0cwBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFN5c3RlbS5Db25maWd1cmF0 +aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFz +awBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9i +amVjdE1vZGVsQmFzZQBFbnVtAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAHJlc291 +cmNlTWFuAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAHJlc291cmNlQ3VsdHVyZQAu +Y3RvcgBnZXRfUmVzb3VyY2VNYW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAEN1bHR1cmUA +ZGVmYXVsdEluc3RhbmNlAGdldF9EZWZhdWx0AERlZmF1bHQATWFpbgB2YWx1ZV9fAFN1Y2Nlc3MA +RmFpbHVyZQB2YWx1ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0 +dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5 +RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2Vt +Ymx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5 +cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDdWx0dXJl +QXR0cmlidXRlAEFzc2VtYmx5VmVyc2lvbkF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxl +clNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGli +aWxpdHlBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VyTm9uVXNlckNvZGVBdHRy +aWJ1dGUAVHlwZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBc3NlbWJseQBn +ZXRfQXNzZW1ibHkAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0 +ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBDb21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZQAuY2N0b3IA +U1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9E +dHMAc2V0X1Rhc2tSZXN1bHQATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29m +dC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAQ29ubmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAENvbnRh +aW5zAENvbm5lY3Rpb25NYW5hZ2VyAGdldF9JdGVtAHNldF9Db25uZWN0aW9uU3RyaW5nAEV2ZW50 +c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBTdHJpbmcARW1wdHkARmlyZUVycm9yAFNUXzI4ZTdm +NDZkNGI4ZjRkZjU5ZjAyODJhMzQ0Mjg1ZmNlLlByb3BlcnRpZXMuUmVzb3VyY2VzLnJlc291cmNl +cwAAAABxUwBUAF8AMgA4AGUANwBmADQANgBkADQAYgA4AGYANABkAGYANQA5AGYAMAAyADgAMgBh +ADMANAA0ADIAOAA1AGYAYwBlAC4AUAByAG8AcABlAHIAdABpAGUAcwAuAFIAZQBzAG8AdQByAGMA +ZQBzAAAZUwBvAHUAcgBjAGUAUwB5AHMAdABlAG0AAAcuAC4ALgAAF1MAYwByAGkAcAB0ACAAVABh +AHMAawAAZUMAbwB1AGwAZAAgAG4AbwB0ACAAZgBpAG4AZAAgAHQAaABlACAAUwBvAHUAcgBjAGUA +UwB5AHMAdABlAG0AIABjAG8AbgBuAGUAYwB0AGkAbwBuACAAbQBhAG4AYQBnAGUAcgAAAH0ew1a+ +N+lHuRWD872izh0ACLd6XFYZNOCJCImEXc2AgMyRAwYSFQMGEhkDIAABBAAAEhUEAAASGQUAAQES +GQQIABIVBAgAEhkDBhIMBAAAEgwECAASDAIGCAMGERQEAAAAAAQBAAAABCABAQ4EIAEBCAYAARJR +EVUEIAASWQYgAgEOElkEBwESFQUgAQERYQgBAAIAAAAAAAMAAAEEIAASbQQgABJxBCABAhwFIAES +dRwEIAASeQIGDgggBQIIDg4OCAQHARJ1RwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBU +DhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0KAEAI1NUXzI4ZTdmNDZkNGI4 +ZjRkZjU5ZjAyODJhMzQ0Mjg1ZmNlAAAFAQAAAAAOAQAJTWljcm9zb2Z0AAAfAQAaQ29weXJpZ2h0 +IEAgTWljcm9zb2Z0IDIwMTEAAAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93 +cwEAABgvAAAAAAAAAAAAAC4vAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgLwAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAA +AABIAAAAWEAAAPgDAAAAAAAAAAAAAPgDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBP +AAAAAAC9BO/+AAABAAAAAQChbdIQAAABAKFt0hA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAA +RAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBv +AG4AAAAAAAAAsARYAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAA0AwAAAQAwADAA +MAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIAbwBz +AG8AZgB0AAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADIA +OABlADcAZgA0ADYAZAA0AGIAOABmADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBm +AGMAZQAAAEAADwABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgA0ADMAMAA2AC4A +MgA4ADAANgA1AAAAAABwACgAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAVABfADIAOABl +ADcAZgA0ADYAZAA0AGIAOABmADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBmAGMA +ZQAuAGQAbABsAAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQBy +AGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAxAAAAAAB4ACgAAQBPAHIA +aQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8AMgA4AGUANwBmADQANgBkADQAYgA4 +AGYANABkAGYANQA5AGYAMAAyADgAMgBhADMANAA0ADIAOAA1AGYAYwBlAC4AZABsAGwAAABoACQA +AQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADIAOABlADcAZgA0ADYAZAA0AGIAOABm +ADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBmAGMAZQAAAEQADwABAFAAcgBvAGQA +dQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4ANAAzADAANgAuADIAOAAwADYANQAAAAAASAAP +AAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4ANAAzADAANgAuADIA +OAAwADYANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAwAAABAPwAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch18/Project.params new file mode 100644 index 0000000..680ffe3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/bin/Development/ConfigurationChapter.ispac b/SQL Server 2012 Integration Services Design Patterns/Ch18/bin/Development/ConfigurationChapter.ispac new file mode 100644 index 0000000..0edfd14 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/Ch18/bin/Development/ConfigurationChapter.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/BuildLog.xml new file mode 100644 index 0000000..4d89220 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/BuildLog.xml @@ -0,0 +1,20 @@ + + + + ConfigurationChapter + 2011-10-16T23:33:42.5955464Z + EncryptSensitiveWithUserKey + + + + Package.dtsx + 2011-10-16T21:57:57.0907342Z + EncryptSensitiveWithUserKey + + + Package1.dtsx + 2011-10-16T23:35:33.1005958Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/ConfigurationChapter.dtproj b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/ConfigurationChapter.dtproj new file mode 100644 index 0000000..5c67156 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/ConfigurationChapter.dtproj @@ -0,0 +1,536 @@ + + + Project + 11.0.1712.3 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + ConfigurationChapter.database + ConfigurationChapter.database + + + + + + + + {3f30b75b-1ac8-478a-bd24-af5d8d490b4a} + ConfigurationChapter + 1 + 0 + 0 + + + 2011-10-16T10:09:45.3649707-07:00 + REDMOND\mmasson + MMASSON10 + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAMti1MQhBVUmrempdRV+x6gAAAAACAAAAAAADZgAAwAAAABAAAADlezYmW5DVvJGDC22PSgkRAAAAAASAAACgAAAAEAAAANeX2Rw1t8FOdDoINJo5uN6IAAAApVKBJ6Y57QDC4WLWhhKYCb95OOEY3s0ZDe4sZaHG77saRLtn/YvSOzKLRA5pHn1G2u9QO9NFrkP8fquri0botE6ZhCQvzkazAy7TslTYXeTfobDCTvyUZfAF7wnnw4QIfpRrIFRQvGHhM5rN6mHi1m86k7rhxP6lZv0DaB28uby6rOCGf5iLyhQAAAApQ9k55blUxl/0uyVp7tEFM/+8Kg== + 1 + + + + + + + + + + + + {171F18C7-03C8-4AD0-BB81-8B7308D06742} + Package + 1 + 0 + 10 + + + {7018A367-2872-4EEC-8FC0-FC80E737D1C9} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=localhost;Initial Catalog=Test;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + Test + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + localhost + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + {C35885CF-98F2-4709-ADCB-3B3F0FBD3866} + Package1 + 1 + 0 + 5 + + + {D6A570DF-2C77-4F8C-B581-B481C6F95500} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + 1252 + 9 + + + + + + + + + + + 0 + 0 + 0 + true + 3 + + + + + + + + + + + 0 + 0 + 0 + C:\Demos\Data\RaggedRight.txt + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + Delimited + 18 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + 0 + 9 + + + + + + + + + + + 0 + 0 + 0 + 1033 + 9 + + + + + + + + + + + 0 + 0 + 0 + + + 18 + + + + + + + + + + + 0 + 0 + 0 + <none> + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2011-10-16T17:44:16.1336369Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package.dtsx new file mode 100644 index 0000000..13ddcb4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package.dtsx @@ -0,0 +1,311 @@ + + + 6 + + + + + + + + @[User::Directory] + "\\" + @[User::FileName] + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package1.dtsx b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package1.dtsx new file mode 100644 index 0000000..a56119e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Package1.dtsx @@ -0,0 +1,717 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + AnyCPU + 8.0.30703 + 2.0 + {5B10DB09-BCC1-4118-861C-6FF1E2300BA0} + Library + Properties + ST_28e7f46d4b8f4df59f0282a344285fce + ST_28e7f46d4b8f4df59f0282a344285fce + v4.0 + 512 + + + 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_ST110 + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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() +{ + // TODO: This would be set from an external configuration file + const string SourceSystemConnectionString = "..."; + + Dts.TaskResult = (int)ScriptResults.Success; + + if (Dts.Connections.Contains("SourceSystem")) + { + ConnectionManager cm = Dts.Connections["SourceSystem"]; + cm.ConnectionString = SourceSystemConnectionString; + } + else + { + // The expected connection manager wasn't found - log is and set an error status + Dts.Events.FireError(0, "Script Task", + "Could not find the SourceSystem connection manager", + string.Empty, 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 + + } +}]]> + + + + ST_28e7f46d4b8f4df59f0282a344285fce + ST_28e7f46d4b8f4df59f0282a344285fce + msBuild + {4FCBFBB1-FBC1-432E-83B1-BE09EEFAB26A} + + + + + + + + + + +]]> + +// 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_28e7f46d4b8f4df59f0282a344285fce.Properties.Settings.get_Default():ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Sett" + + "ings")] + +namespace ST_28e7f46d4b8f4df59f0282a344285fce.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; + } + } + } +}]]> + + + + + + +]]> + +// 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_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.get_ResourceManager():System.Resources.Resou" + + "rceManager")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.get_Culture():System.Globalization.CultureIn" + + "fo")] +[assembly: global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="ST_28e7f46d4b8f4df59f0282a344285fce.Properties.Resources.set_Culture(System.Globalization.CultureInfo" + + "):Void")] + +namespace ST_28e7f46d4b8f4df59f0282a344285fce.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_28e7f46d4b8f4df59f0282a344285fce.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 +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAENqm04AAAAAAAAAAOAAAiELAQgAABAAAAAIAAAAAAAAPi8A +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAMAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAPAuAABLAAAAAEAAAFAEAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAARA8AAAAgAAAAEAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAFAEAAAAQAAAAAYAAAASAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAGAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAg +LwAAAAAAAEgAAAACAAUAACIAAPAMAAABAAAAAAAAAEghAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKA4AAAoqEzADAC0AAAABAAARfgEAAAQtIHIBAABw0AIA +AAIoDwAACm8QAAAKcxEAAAoKBoABAAAEfgEAAAQqGn4CAAAEKh4CgAIAAAQqGn4DAAAEKi5zBgAA +BoADAAAEKh4CKBQAAAoqABMwBgB0AAAAAgAAEQIoFgAAChZvFwAACgIoFgAACm8YAAAKcnMAAHBv +GQAACiwiAigWAAAKbxgAAApycwAAcG8aAAAKCgZyjQAAcG8bAAAKKgIoFgAACm8cAAAKFnKVAABw +cq0AAHB+HQAAChZvHgAACiYCKBYAAAoXbxcAAAoqHgIoHwAACioAAAAAtAAAAM7K774BAAAAkQAA +AGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAu +MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lz +dGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJT +SkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAANwDAAAjfgAASAQAAPwFAAAjU3RyaW5n +cwAAAABECgAAFAEAACNVUwBYCwAAEAAAACNHVUlEAAAAaAsAAIgBAAAjQmxvYgAAAAAAAAACAAAB +Vx2iAQkDAAAA+iUzABYAAAEAAAAfAAAABQAAAAYAAAAJAAAAAQAAAB8AAAACAAAADwAAAAIAAAAC +AAAAAwAAAAQAAAABAAAABAAAAAEAAAABAAAAAAAKAAEAAAAAAAYAwQC6AAoA3QDIAA4APQEUAQYA +WQG6AAYAbwFeAQYAoAGLAQYAVwI9AgYAggJwAgYAmQJwAgYAtgJwAgYA1QJwAgYA7gJwAgYABwNw +AgYAIgNwAgYAPQNwAgYAVgNwAgYAjwNvAwYArwNvAwYA4APNAwYA/QO6AAYAAgS6AAYAJgRwAgoA +UgQ8BAoAawQ8BAYAgARvAw4AogQUAQ4AxAQUARIALAUMBRIAUQUMBQ4AgQUUAQYAoAW6AAAAAAAB +AAAAAAABAAEAAAAQADIAPAAFAAEAAQAAARAAawA8AAkAAwAFAAEAEAB0AH8ADQAEAAgAAwEAAKMA +AAARAAQACgARAH8BEwARAKwBFwARAPYBOQAGBh8CRwBWgCcCSgBWgC8CSgBQIAAAAACDGLwBGwAB +AFggAAAAAJMIwgEfAAEAkSAAAAAAkwjWASQAAQCYIAAAAACTCOIBKQABAKAgAAAAAJYIBgI9AAIA +syAAAAAAhhi8ARsAAgCnIAAAAACRGJsEiQACALwgAAAAAIYAGgIbAAIAPCEAAAAAhhi8ARsAAgAA +AAEANwI5ALwBWABBALwBWABJALwBWABRALwBWABZALwBWABhALwBWABpALwBWABxALwBWAB5ALwB +WACBALwBWACJALwBXQCRALwBGwCZALwBGwAJALwBGwChABQEYgChAC8EaQApALwBbgC5ALwBegDJ +ALwBGwARALwBGwDRALwBGwAZANYEjQDZAN4EXQDZADgFkgDhAEgFlwDhAGMFnADpAGwFWADZAJUF +ogD5AKcFpwDxAK0FqgAZALwBGwAIABQATgAIABgAUwApAJMAgAAuABsAKQEuACMAKQEuAGMAZwEu +AAsAuAAuABMAAAEuADMAAAEuACsALwEuADsAPgEuAEMAKQEuAFsAXgFDAGsAUwBJAJMAgABhAJsA +UwCDAKsAUwB1ALMAAgABAAMAAwAAAG8BLwAAAO4BNAAAABICQgACAAIAAwACAAMABQABAAQABQAC +AAUABwAEgAAAAQAAANIQoW0AAAAAAAB/AAAABAAAAAAAAAAAAAAAAQCxAAAAAAAEAAAAAAAAAAAA +AAABALoAAAAAAAsAAAAAAAAAAAAAAAoA9QAAAAAACwAAAAAAAAAAAAAACgDtBAAAAAAAAAAAAQAA +ALcFAAAFAAQAAAAAPE1vZHVsZT4AU1RfMjhlN2Y0NmQ0YjhmNGRmNTlmMDI4MmEzNDQyODVmY2Uu +ZGxsAFJlc291cmNlcwBTVF8yOGU3ZjQ2ZDRiOGY0ZGY1OWYwMjgyYTM0NDI4NWZjZS5Qcm9wZXJ0 +aWVzAFNldHRpbmdzAFNjcmlwdE1haW4AU1RfMjhlN2Y0NmQ0YjhmNGRmNTlmMDI4MmEzNDQyODVm +Y2UAU2NyaXB0UmVzdWx0cwBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFN5c3RlbS5Db25maWd1cmF0 +aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFz +awBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9i +amVjdE1vZGVsQmFzZQBFbnVtAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAHJlc291 +cmNlTWFuAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAHJlc291cmNlQ3VsdHVyZQAu +Y3RvcgBnZXRfUmVzb3VyY2VNYW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAEN1bHR1cmUA +ZGVmYXVsdEluc3RhbmNlAGdldF9EZWZhdWx0AERlZmF1bHQATWFpbgB2YWx1ZV9fAFN1Y2Nlc3MA +RmFpbHVyZQB2YWx1ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0 +dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5 +RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2Vt +Ymx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5 +cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDdWx0dXJl +QXR0cmlidXRlAEFzc2VtYmx5VmVyc2lvbkF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxl +clNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGli +aWxpdHlBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VyTm9uVXNlckNvZGVBdHRy +aWJ1dGUAVHlwZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBc3NlbWJseQBn +ZXRfQXNzZW1ibHkAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0 +ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBDb21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZQAuY2N0b3IA +U1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVsAGdldF9E +dHMAc2V0X1Rhc2tSZXN1bHQATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29m +dC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAQ29ubmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAENvbnRh +aW5zAENvbm5lY3Rpb25NYW5hZ2VyAGdldF9JdGVtAHNldF9Db25uZWN0aW9uU3RyaW5nAEV2ZW50 +c09iamVjdFdyYXBwZXIAZ2V0X0V2ZW50cwBTdHJpbmcARW1wdHkARmlyZUVycm9yAFNUXzI4ZTdm +NDZkNGI4ZjRkZjU5ZjAyODJhMzQ0Mjg1ZmNlLlByb3BlcnRpZXMuUmVzb3VyY2VzLnJlc291cmNl +cwAAAABxUwBUAF8AMgA4AGUANwBmADQANgBkADQAYgA4AGYANABkAGYANQA5AGYAMAAyADgAMgBh +ADMANAA0ADIAOAA1AGYAYwBlAC4AUAByAG8AcABlAHIAdABpAGUAcwAuAFIAZQBzAG8AdQByAGMA +ZQBzAAAZUwBvAHUAcgBjAGUAUwB5AHMAdABlAG0AAAcuAC4ALgAAF1MAYwByAGkAcAB0ACAAVABh +AHMAawAAZUMAbwB1AGwAZAAgAG4AbwB0ACAAZgBpAG4AZAAgAHQAaABlACAAUwBvAHUAcgBjAGUA +UwB5AHMAdABlAG0AIABjAG8AbgBuAGUAYwB0AGkAbwBuACAAbQBhAG4AYQBnAGUAcgAAAH0ew1a+ +N+lHuRWD872izh0ACLd6XFYZNOCJCImEXc2AgMyRAwYSFQMGEhkDIAABBAAAEhUEAAASGQUAAQES +GQQIABIVBAgAEhkDBhIMBAAAEgwECAASDAIGCAMGERQEAAAAAAQBAAAABCABAQ4EIAEBCAYAARJR +EVUEIAASWQYgAgEOElkEBwESFQUgAQERYQgBAAIAAAAAAAMAAAEEIAASbQQgABJxBCABAhwFIAES +dRwEIAASeQIGDgggBQIIDg4OCAQHARJ1RwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBU +DhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0KAEAI1NUXzI4ZTdmNDZkNGI4 +ZjRkZjU5ZjAyODJhMzQ0Mjg1ZmNlAAAFAQAAAAAOAQAJTWljcm9zb2Z0AAAfAQAaQ29weXJpZ2h0 +IEAgTWljcm9zb2Z0IDIwMTEAAAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93 +cwEAABgvAAAAAAAAAAAAAC4vAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgLwAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAA +AABIAAAAWEAAAPgDAAAAAAAAAAAAAPgDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBP +AAAAAAC9BO/+AAABAAAAAQChbdIQAAABAKFt0hA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAA +RAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBv +AG4AAAAAAAAAsARYAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAA0AwAAAQAwADAA +MAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIAbwBz +AG8AZgB0AAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADIA +OABlADcAZgA0ADYAZAA0AGIAOABmADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBm +AGMAZQAAAEAADwABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgA0ADMAMAA2AC4A +MgA4ADAANgA1AAAAAABwACgAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFMAVABfADIAOABl +ADcAZgA0ADYAZAA0AGIAOABmADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBmAGMA +ZQAuAGQAbABsAAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQBy +AGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAxAAAAAAB4ACgAAQBPAHIA +aQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8AMgA4AGUANwBmADQANgBkADQAYgA4 +AGYANABkAGYANQA5AGYAMAAyADgAMgBhADMANAA0ADIAOAA1AGYAYwBlAC4AZABsAGwAAABoACQA +AQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADIAOABlADcAZgA0ADYAZAA0AGIAOABm +ADQAZABmADUAOQBmADAAMgA4ADIAYQAzADQANAAyADgANQBmAGMAZQAAAEQADwABAFAAcgBvAGQA +dQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4ANAAzADAANgAuADIAOAAwADYANQAAAAAASAAP +AAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4ANAAzADAANgAuADIA +OAAwADYANQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAwAAABAPwAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch18/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.csproj b/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.csproj new file mode 100644 index 0000000..bbcac4f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.csproj @@ -0,0 +1,73 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02} + Exe + Properties + MomDeployment + MomDeployment + v4.0 + + + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + False + ..\..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll + + + False + ..\..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Management.IntegrationServices.dll + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.sln b/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.sln new file mode 100644 index 0000000..8f6d6b8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch19/MomDeployment.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MomDeployment", "MomDeployment.csproj", "{5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02}.Debug|x86.ActiveCfg = Debug|x86 + {5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02}.Debug|x86.Build.0 = Debug|x86 + {5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02}.Release|x86.ActiveCfg = Release|x86 + {5830E3DA-3BB3-4DB3-85A5-A53B81F2AD02}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch19/Program.cs b/SQL Server 2012 Integration Services Design Patterns/Ch19/Program.cs new file mode 100644 index 0000000..100ec35 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch19/Program.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.SqlServer.Management.IntegrationServices; +using Microsoft.SqlServer.Management.Smo; +using Microsoft.SqlServer.Dts.Runtime; +using System.IO; + +namespace MomDeployment +{ + class Program + { + const string ProjectFileLocation = @"C:\ETL\Project.ispac"; + + static void Main(string[] args) + { + // Connect to the default instance on localhost + var server = new Server("localhost"); + var store = new IntegrationServices(server); + + // Check that we have a catalog + if (store.Catalogs.Count == 0) + { + Console.WriteLine("SSIS catalog not found on localhost."); + } + + // Get the SSISDB catalog - note that there should only + // be one, but the API may support multiple catalogs + // in the future + var catalog = store.Catalogs["SSISDB"]; + + // Create a new folder + var folder = new CatalogFolder(catalog, + "MyFolder", + "Folder that holds projects"); + folder.Create(); + + // Make sure the project file exists + if (!File.Exists(ProjectFileLocation)) + { + Console.WriteLine("Project file not found at: {0}", + ProjectFileLocation); + } + + // Load the project using the SSIS API + var project = Project.OpenProject(ProjectFileLocation); + + // Deploy the project to the folder we just created + folder.DeployProject(project); + } + } +} diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch19/Properties/AssemblyInfo.cs b/SQL Server 2012 Integration Services Design Patterns/Ch19/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c104170 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch19/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MomDeployment")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("MomDeployment")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ba28dd8f-f48b-4e5c-aa26-94c1511435df")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SQL Server 2012 Integration Services Design Patterns/Ch19/app.config b/SQL Server 2012 Integration Services Design Patterns/Ch19/app.config new file mode 100644 index 0000000..e2328d8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/Ch19/app.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012.sln b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012.sln new file mode 100644 index 0000000..4c53c6a --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012.sln @@ -0,0 +1,17 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "SSISConfig2012", "SSISConfig2012\SSISConfig2012.dtproj", "{6C315CF2-6CA6-44FE-AE09-CE3757F65CE6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Development|Default = Development|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6C315CF2-6CA6-44FE-AE09-CE3757F65CE6}.Development|Default.ActiveCfg = Development + {6C315CF2-6CA6-44FE-AE09-CE3757F65CE6}.Development|Default.Build.0 = Development + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child1.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child1.dtsx new file mode 100644 index 0000000..e8f11c4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child1.dtsx @@ -0,0 +1,1626 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + select * from [RawTemperature] + select * from (select * from [RawTemperature]) [refTable] +where [refTable].[ID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata><referenceColumns><referenceColumn name="ID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0"/><referenceColumn name="MeasTime" dataType="DT_STR" length="20" precision="0" scale="0" codePage="1252"/><referenceColumn name="MeasDate" dataType="DT_STR" length="20" precision="0" scale="0" codePage="1252"/><referenceColumn name="MinT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MaxT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="AvgT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MinH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MaxH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="AvgH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="Batt" dataType="DT_STR" length="3" precision="0" scale="0" codePage="1252"/></referenceColumns></referenceMetadata> + #{Package\Data Flow Task\OLESRC Temperature.Outputs[OLE DB Source Output].Columns[ID]}; + 1252 + false + + + + + + + + + + ID + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [raw].[Temperature] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[RawTemperature] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + OverwriteParamsSQLProp + false + + + UsedTableName + + + + TableInfoObjectType + 0 + + + DataSourceViewID + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child2.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child2.dtsx new file mode 100644 index 0000000..d74b280 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Child2.dtsx @@ -0,0 +1,709 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/ErrorTest.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/ErrorTest.dtsx new file mode 100644 index 0000000..292f520 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/ErrorTest.dtsx @@ -0,0 +1,723 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {E953CFB3-50D7-4515-B9C4-76799697D92A} + Library + My Project + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + {AE361F5A-9589-43E8-BE70-DA93F4C30699} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + + Dim iResponse As Integer = MsgBox("Succeed Package?", MsgBoxStyle.YesNo, sSubComponent) + If iResponse = vbYes Then + Dts.TaskResult = ScriptResults.Success + Else + Dts.TaskResult = ScriptResults.Failure + End If + + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAHJWl08AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAHjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANA5AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAJBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAA +OgAAAAAAAEgAAAACAAUA8CMAAOAVAAABAAAAAAAAADUjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAHkAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgsCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKDQdyXQAAcAkoKQAACgxyYQAAcBoIKCoAAAoKBhwzDgJvJQAA +ChZvKwAACisMAm8lAAAKF28rAAAKKrQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5S +ZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs +LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGlt +ZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAAAAABCU0pCAQABAAAAAAAMAAAAdjQu +MC4zMDMxOQAAAAAFAGwAAADMBwAAI34AADgIAABwCQAAI1N0cmluZ3MAAAAAqBEAAIQAAAAjVVMA +LBIAABAAAAAjR1VJRAAAADwSAACkAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAAB +AAAALgAAAAoAAAAMAAAAGQAAAAQAAAA4AAAAAgAAADYAAAAPAAAABAAAAAgAAAAJAAAACQAAAAEA +AAAFAAAAAQAAAAMAAAADAAAAAgAAAAAARQkBAAAAAAAKAEsBIQEKAH8BYQEGAI8BiAEKAOcBIQEG +AGUCiAEKAOcCvQIGAB0DDAMGAEoDNQMOALEDnAMSADAEBwQGAFEEiAEOAIQEbgQOAJ0EbgQOAMoE +sgQGAPQE4QQKADMFDAUKAEsFEwAOAIAFYwUGALUFlQUGANMFiAEGAPcFiAEKABAGEwAGAFQGNQYG +AHoGaAYGAKEGkAYGALQG4QQSANEGBwQWACoHCgcWAEIHCgcGAFQHiAEKAGIHEwAKAG4HEwAKAHsH +EwAGAJ0HiAESALMHBwQGAA0IlQUGAC0IlQUGAGUISwgGAH4IaAYGAJsINQYGAKkIaAYGAMQIaAYG +AN8IaAYGAPgIaAYGABEJaAYGAC4JaAYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAF4A +NwAJAAEAAgAAARAAaQA3AA0AAQADAAUBAABzAAAADQAFAAgABQEAAIEAAAANAAUADwAAAAAAnACo +AA0ABgARAAABEADZAOQAJQAIABUAAQAAAAgB5AApAAoAGAACAQAAEwEAAC0ACgAaADEAqgEgADEA +0wEtADEA9QE6ADEAGgJHACEA9gKQABEALQOdABEAVgOhABEAyQO/ABEA0QPDAAYGVgTZAFaAXgTc +AFaAZgTcAFAgAAAAAAYYWwETAAEAWCAAAAAABhhbARMAAQBgIAAAAAARGJYBFwABAIwgAAAAABMI +nQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAATCOwBNQABANQgAAAAABMICgJCAAEA7CAAAAAARgJQ +AmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMAagJsAAIANCEAAAAARgJyAnEAAgBIIQAAAAARAHsC +eAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhbARMABACIIQAAAAADCK0CiwAEALwhAAAAAAYYWwET +AAQA0CEAAAAAAxhbARMABADYIQAAAAAWCGIDpQAEABQiAAAAABYIdgOqAAQAKCIAAAAAFgiCA68A +BAAwIgAAAAARGJYBFwAFAEQiAAAAAAYYWwETAAUATCIAAAAAFgjeA8YABQCoIgAAAAAGGFsBEwAF +ALAiAAAAAAYATAQTAAUAAAABAFcCAAABAJACAAABAJACAAABAI4DCQBbARMAYQBbAeoAcQBbAfkA +EQBbARMAeQBbARMAJABbARMALABbARMANABbARMAPABbARMAJACtAosALACtAosANACtAosAPACt +AosAgQBbARMAiQBbARMAkQBbAUgBmQDEBZMBGQBQAmMAGQBZAmgAKQDlBaABGQByAnEAqQABBrAB +GQBbARMAsQBbAcABRAD2ApAATADeA4sATAArBj0CTABbARMAuQBbAUwCKQCDBlcCOQBbAVwCSQBb +ARMAyQCpBngCyQCvBngC0QBbARMAUQBbARMAUQDjBoIC2QA0B4cC4QBLB4wC6QDeA5IC8QBbB5YC ++QCHB50C2QCOB6gCEQFbAUwCGQFbARMAIQFbAagCKQFbARMAMQFbAUgBOQFbAUgBQQFbAUgBSQFb +AUgBUQFbAUgBWQFbAUgBYQFbAUgBaQFbAUgBcQFbAUgBCAAsAOAACAAwAOUAKQCDAIIBLgCzAVEC +LgDDAXgDLgCrAXgDLgB7Ab0CLgCjAWEDLgC7AVECLgBzAbQCLgCDAdwCLgCLASQDLgCTATEDLgDr +AFECLgBjAVsDLgCbAVECQAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAFoBYwAbAP8AYwATAPAA +aQCDAE0BgAArAOUAgwBzAOUAgwAbAP8AgwB7AOUAiQCDAG4BoAArAOUAowDDAMgBowATAPAAwAAr +AOUAwwATAPAAwwDrAFECyQATAG8C4AArAOUA6QATAG8CAAErAOUAAAETAPAACQEbAeUAIAETAPAA +IAErAOUAIwFjAVECIwFrAeUAQAETAPAAQAErAOUAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAEr +AOUAwAETAPAA4AErAOUAAAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9Aq0C +BAABAAYABQAHAAYACAAIAAAAfwFPAAAAOAJUAAAA5wFZAAAARAJeAAAAAAOYAAAAHQO1AAAAlAO6 +AAAAjgPLAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIA +FwARAHUAdQCIABgBHwEmAS0BKgIxAgSAAAABAAAAAAAAAAAAAAAAAOQAAAAEAAAAAAAAAAAAAAAB +AAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAABAAAAAAAAAAAAAAAAQCIAQAAAAALAAAAAAAAAAAA +AADQAOgDAAAAAAsAAAAAAAAAAAAAANAA6wYAAAAAAAAAAAEAAADVBwAABQAEAAYABAAKAAkAAAAQ +AAwAjgIAABAAGQCOAgAAAAAbAI4CLQC2AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNUXzdlM2IyMjVjYTRjMTQ4NTE4N2Y1ZTRj +MGQyNGNiY2IxLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2Fm +ZU9iamVjdFByb3ZpZGVyYDEATXlSZXNvdXJjZXMAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMw +ZDI0Y2JjYjEuTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVl +NGMwZDI0Y2JjYjEAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNp +Yy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlz +dWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0 +ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFBy +b3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2Vz +AG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVx +dWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNl +X18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3Nv +ZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRl +eHQAR2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBT +eXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VN +YW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZp +Z3VyYXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0 +X1ZhbHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVy +LkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVu +dW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJy +b3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21w +aWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhp +ZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFu +ZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9u +ZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBp +bGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5k +bGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xs +ZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMA +Q29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1i +bHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29k +ZUF0dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu +TWFuYWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRf +VmFyaWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNn +Qm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRB +dHRyaWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdlM2IyMjVjYTRj +MTQ4NTE4N2Y1ZTRjMGQyNGNiY2IxLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxh +eGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJz +aW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNz +ZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5 +Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0 +bGVBdHRyaWJ1dGUAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEuZGxsAAAAAAAx +TQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAABdQAGEAYwBr +AGEAZwBlAE4AYQBtAGUAABFUAGEAcwBrAE4AYQBtAGUAAAMuAAAhUwB1AGMAYwBlAGUAZAAgAFAA +YQBjAGsAYQBnAGUAPwAAAEu5jzgyONtOqwPaPznR0mYACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMA +AAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgA +EgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMA +BCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiAC +BhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIB +Dg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQH +ARIMBAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAT +AQAOTXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEE +BwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Q +cm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9z +ZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUB +AAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJx +BSABEnUcAyAAHAYAAw4ODg4KAAMRgIEcEYCFHAQgAQEIBgcECA4ODggBAAgAAAAAAB4BAAEAVAIW +V3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQO +FEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGM3 +ZTVmNjNkLTc2ZmYtNGZiYy05YjNlLTcyYzI3ZDM0YTk4NwAABQEAAQAAFgEAEUNvcHlyaWdodCBA +ICAyMDEyAAAoAQAjU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEAAAAAAPg5AAAA +AAAAAAAAAA46AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgAAAAAAAAAAX0NvckRsbE1haW4A +bXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA3AGUAMwBiADIAMgA1AGMAYQA0AGMA +MQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIAYwBiADEALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA3 +AGUAMwBiADIAMgA1AGMAYQA0AGMAMQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIA +YwBiADEALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAIDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Parent.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Parent.dtsx new file mode 100644 index 0000000..e68ef67 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Parent.dtsx @@ -0,0 +1,2241 @@ + + + 6 + + + @[User::ChildPackagePath] + + + + + + + + + + + + + 0 + + + SSISApp1 + + + 0 + + + F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\Child2.dtsx + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + {39D2FD37-8181-4A91-B321-254E9C120FA4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {77A94AD4-3A43-42A3-97B6-931D33DC7C9E} + Library + My Project + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + msBuild + {15BDCFF3-17C8-4621-A09C-B1750B5A1FEE} + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sChildPackagePath As String = Dts.Variables("ChildPackagePath").Value.ToString + Dim iAppPackageID As Integer = Convert.ToInt32(Dts.Variables("AppPackageID").Value) + Dim iPkgInstanceID As Integer = Convert.ToInt32(Dts.Variables("PkgInstanceID").Value) + + Dim sMsg As String = "ChildPackagePath: " & sChildPackagePath & vbCrLf & _ + "AppPackageID: " & iAppPackageID.ToString & vbCrLf & _ + "PkgInstanceID: " & iPkgInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAP7SmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAvjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAHA7AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAxBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACg +OwAAAAAAAEgAAAACAAUAqCQAAMgWAAABAAAAAAAAAO4jAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHADIBAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAAChMEAm8lAAAKbyYA +AApySwAAcG8nAAAKbygAAApvFQAAChMGEQRyXQAAcBEGKCkAAAoTBQJvJQAACm8mAAAKcmEAAHBv +JwAACm8oAAAKbxUAAAoMAm8lAAAKbyYAAApygwAAcG8nAAAKbygAAAooEQAACigqAAAKCgJvJQAA +Cm8mAAAKcp0AAHBvJwAACm8oAAAKKBEAAAooKgAACgscjR4AAAETBxEHFnK5AABwohEHFwiiEQcY +ct8AAHCiEQcZEgAoKwAACqIRBxpyAQEAcKIRBxsSASgrAAAKohEHKCwAAAoNAm8lAAAKby0AAAog +6QMAABEFCXIlAQBwFhcTCBIIby4AAAoCbyUAAAoWby8AAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0 +ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBD +dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJl +c291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAAAAQlNKQgEA +AQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAA +ANgRAAAoAQAAI1VTAAATAAAQAAAAI0dVSUQAAAAQEwAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJ +CQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAAABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAI +AAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAAAwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEB +BgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAdAwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCE +BG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwFCgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgB +CgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBi +B4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcEBgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUG +BgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAqCWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3 +AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkANwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAA +DQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDkACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAt +AAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoCRwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANED +wwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAGGFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiW +ARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMIwwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoC +QgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZAmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJx +AAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkCgAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosA +BAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwETAAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAE +ACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcABQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUA +qCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAFAAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwET +AGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQAWwETACwAWwETADQAWwETADwAWwETACQArQKLACwA +rQKLADQArQKLADwArQKLAIEAWwETAIkAWwETAJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWg +ARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikA +gwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweM +AukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEAWweiAtkAjAeoAgkBlweuAtkApwe5AhEBWwFMAhkB +WwETACEBWwG5AikBWwETADEBWwFIATkBWwFIAUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFI +AWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkAgwCCAS4A2wFRAi4A0wFRAi4AqwE7Ay4AywGPAy4A +4wGPAy4AkwHLAi4AmwHUAi4AowHzAi4AswFIAy4A6wBRAi4AgwFyAy4AuwFRAi4AwwF4A0AAKwDl +AEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMAEwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMA +cwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDIAaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBv +AuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkBGwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkAB +KwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDlAKABKwDlAMABKwDlAMABEwDwAOABKwDlAAACEwDw +AAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsBQwJjAmoCfQK+AgQAAQAGAAUABwAGAAgACAAAAH8B +TwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAAAB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQAC +AAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoC +MQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAK +ABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAACwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAA +AADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAGAAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCO +Ai0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlB +cHBsaWNhdGlvbgBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5NeQBNeUNvbXB1 +dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15 +UmVzb3VyY2VzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwLk15LlJlc291cmNl +cwBNeVNldHRpbmdzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwAFNjcmlwdE1h +aW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNl +cwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29t +cHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQ +cm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2Vy +AG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmpl +Y3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBU +eXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9z +ZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2Vy +dmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3Rl +bS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24A +Q3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBz +ZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9u +U2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3Fs +U2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFz +awBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBG +YWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRp +dG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0 +dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9z +b2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUA +SGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxw +S2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVI +ZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxl +AEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRf +VmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUA +U3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcA +TW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2Jq +ZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBn +ZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZlcnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RX +cmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9ybWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBs +aWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfZmM1MDMz +MjkyY2RiNDRlOGI4NjY0MTJhNjJlODdmZTAuUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlv +blJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3Rl +bS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5Rmls +ZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0 +ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNz +ZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1i +bHlUaXRsZUF0dHJpYnV0ZQBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5kbGwA +AAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABh +AGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMAawBOAGEAbQBlAAADLgAAIUMAaABpAGwAZABQAGEA +YwBrAGEAZwBlAFAAYQB0AGgAABlBAHAAcABQAGEAYwBrAGEAZwBlAEkARAAAG1AAawBnAEkAbgBz +AHQAYQBuAGMAZQBJAEQAACVDAGgAaQBsAGQAUABhAGMAawBhAGcAZQBQAGEAdABoADoAIAAAIQ0A +CgBBAHAAcABQAGEAYwBrAGEAZwBlAEkARAA6ACAAACMNAAoAUABrAGcASQBuAHMAdABhAG4AYwBl +AEkARAA6ACAAAAEAAGFySk/ffDdEg65Ewt1pE4cACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEE +AAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwE +CAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAA +EwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiACBhwE +AAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIBDg4Y +AQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIM +BAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAO +TXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEEBwES +FQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90 +b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9f +SW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAA +AAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJxBSAB +EnUcAyAAHAYAAw4ODg4EAAEIHAUAAQ4dDgUgABKAhQogBgEIDg4OCBACBCABAQgMBwkICA4ODg4O +HQ4CCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3 +b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsg +NAwBAAcxLjAuMC4wAAApAQAkNjBkMGQwYWUtNWMyZS00MDNiLWIzMjgtMTJjMTcxNzgwYTI5AAAF +AQABAAAWAQARQ29weXJpZ2h0IEAgIDIwMTIAACgBACNTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQx +MmE2MmU4N2ZlMAAAmDsAAAAAAAAAAAAArjsAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKA7AAAA +AAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwBmAGMANQAwADMAMwAyADkAMgBjAGQA +YgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcAZgBlADAALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwBm +AGMANQAwADMAMwAyADkAMgBjAGQAYgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcA +ZgBlADAALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAwDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {715BE6DB-A8B9-4598-B677-6ACE4957079D} + Library + My Project + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + {27D9EFCA-9967-445A-A700-B6EC9F4DF797} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sApplicationName As String = Dts.Variables("ApplicationName").Value.ToString + Dim iAppInstanceID As Integer = Convert.ToInt32(Dts.Variables("AppInstanceID").Value) + + Dim sMsg As String = "ApplicationName: " & sApplicationName & vbCrLf & _ + "AppInstanceID: " & iAppInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAB7PmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANw6AABPAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OwAAAAAAAEgAAAACAAUAVCQAAIgWAAABAAAAAAAAAJkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHAN0AAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACg0CbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKEwUJcl0AAHARBSgpAAAKEwQCbyUAAApvJgAACnJhAABwbycA +AApvKAAACm8VAAAKCwJvJQAACm8mAAAKcoEAAHBvJwAACm8oAAAKKBEAAAooKgAACgpynQAAcAdy +wQAAcBIAKCsAAAooLAAACgwCbyUAAApvLQAACiDpAwAAEQQIcuUAAHAWFxMGEgZvLgAACgJvJQAA +ChZvLwAACiq0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VSZWFkZXIs +IG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9r +ZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNvdXJjZVNldAIA +AAAAAAAAAAAAAFBBRFBBRFC0AAAAAAAAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBs +AAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAAANgRAADoAAAAI1VTAMASAAAQAAAAI0dVSUQA +AADQEgAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAA +ABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAIAAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAA +AwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEBBgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAd +AwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCEBG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwF +CgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgBCgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0 +BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBiB4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcE +BgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUGBgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAq +CWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkA +NwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAADQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDk +ACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAtAAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoC +RwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANEDwwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAG +GFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiWARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMI +wwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoCQgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZ +AmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJxAAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkC +gAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosABAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwET +AAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAEACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcA +BQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUAqCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAF +AAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwETAGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQA +WwETACwAWwETADQAWwETADwAWwETACQArQKLACwArQKLADQArQKLADwArQKLAIEAWwETAIkAWwET +AJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWgARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA +9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikAgwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4 +AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweMAukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEA +WweiAtkAjAeqAgkBlwewAtkApwe7AhEBWwFMAhkBWwETACEBWwG7AikBWwETADEBWwFIATkBWwFI +AUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFIAWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkA +gwCCAS4A2wFRAi4A0wFRAi4AqwE6Ay4AywGOAy4A4wGOAy4AkwHKAi4AmwHTAi4AowHyAi4AswFH +Ay4A6wBRAi4AgwFxAy4AuwFRAi4AwwF3A0AAKwDlAEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMA +EwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMAcwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDI +AaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBvAuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkB +GwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkABKwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDl +AKABKwDlAMABEwDwAMABKwDlAOABKwDlAAACEwDwAAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsB +QwJjAmoCfQLAAgQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAA +AB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMA +DwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoCMQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAA +AAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAA +CwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAAAADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAG +AAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2Nv +cmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTVF85ZjMyMjQ5YzlhYTc0 +NzI5YTI3YWI2NWIxYWQ2MDExZi5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2Vz +AFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNUXzlmMzIyNDljOWFhNzQ3 +MjlhMjdhYjY1YjFhZDYwMTFmLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzlmMzIyNDljOWFh +NzQ3MjlhMjdhYjY1YjFhZDYwMTFmAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA +Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B +cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X +ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT +ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl +X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu +Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl +YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2Vy +AF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0 +X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5 +c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5j +T2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJh +c2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2Rl +bABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNv +ZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MA +RGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2Vy +dmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lz +dGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRp +bWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBN +eUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJv +cFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkA +Z2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2Vy +Tm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQu +U3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJp +YWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZl +cnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9y +bWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFz +a0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfOWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYu +UmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRp +bWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0 +RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJp +YnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0 +ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2Vt +Ymx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF85ZjMyMjQ5 +YzlhYTc0NzI5YTI3YWI2NWIxYWQ2MDExZi5kbGwAAAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBz +AC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABhAGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMA +awBOAGEAbQBlAAADLgAAH0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlAAAbQQBwAHAASQBu +AHMAdABhAG4AYwBlAEkARAAAI0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlADoAIAAAIw0A +CgBBAHAAcABJAG4AcwB0AGEAbgBjAGUASQBEADoAIAAAAQAAeYBf4VZzh0OzvkqbDBbvRgAIt3pc +Vhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUS +GAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIe +AAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEF +AAEBEiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAA +AAUgAQERNQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUS +GAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAAT +AQAOTXkuQXBwbGljYXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAE +AAEcHAMHAQIDBwEIBgABEhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT +eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0 +ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg +AQETAAgHAxMAEwATAAQgAQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAA +BAABARwEBwESIAQgABJtBCAAEnEFIAESdRwDIAAcBgADDg4ODgQAAQgcBwAEDg4ODg4FIAASgIUK +IAYBCA4ODggQAgQgAQEICQcHCA4ODg4OAggBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlv +blRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3Bs +YXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGFiNjA4OWQ1LTc0YmQtNDJi +Ny05ZTQwLTU1ZTYxMzMwN2UyZAAABQEAAQAAFgEAEUNvcHlyaWdodCBAICAyMDEyAAAoAQAjU1Rf +OWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYAAAAEOwAAAAAAAAAAAAAeOwAAACAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAEDsAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAA +AAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA5AGYAMwAyADIANAA5AGMAOQBhAGEA +NwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAAMQAxAGYALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA5 +AGYAMwAyADIANAA5AGMAOQBhAGEANwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAA +MQAxAGYALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAMDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Project.params b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.database b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.database new file mode 100644 index 0000000..5665d48 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.database @@ -0,0 +1,13 @@ + + SSISConfig2012 + SSISConfig2012 + 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/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj new file mode 100644 index 0000000..4700f49 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj @@ -0,0 +1,401 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + SSISConfig2012.database + SSISConfig2012.database + + + + + + + + {746bc314-6191-4517-b9ca-d26af20a1d1b} + SSISConfig2012 + 1 + 0 + 0 + + + 2012-05-04T22:41:55.2643071-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAbktffIHTdke86Vlq3tUs0wAAAAACAAAAAAAQZgAAAAEAACAAAAARwtS9pFdu6QZTGJLALpBahLrhFVAEcX6yiNsZpTtmTwAAAAAOgAAAAAIAACAAAAC76PLrWxEJmo852GVMZHvY8L7/NeJF5eln2bVymWXbX5AAAACK3a8Ctt2k5TOzPjEfFxzPUW8d4MaYlF+7Uri376CDT5T8bOQPWQpRM3h+cftWbo7CNr0NVYta/HNJOLxTt9hIiFw84rDPq1yw0f2/Kdd6euxJNcrnFqXH7EMbKPRGya7BfREIzfxoUwmqXeowJ+saUh2R/ImSx/RTez0nUOwVa8Wl+5rYi3ox80WHdSPRa/BAAAAA/sP1i+cLBz8VHVdcJk+/p0UX/VWnzNf0ZJcr1O/dnc5XAJNdhBXx6QnGORmyR0W5a6h4DBjva3GBSvWUEtfVBg== + 1 + + + + + + + + + + + + + + {37F14B2F-09C6-42B6-94B4-B2379298B2BF} + ErrorTest + 1 + 0 + 2 + + + {12FD4DA4-1C3D-4D40-8FC2-437000F45579} + 6 + + + 1 + + + + + + {BFE34FBB-B528-49B3-8675-20E0825CD65E} + Child2 + 1 + 0 + 3 + + + {5621475D-01A3-4512-9468-D6ACAE8B5C0E} + 6 + + + 1 + + + + + + {73EC369F-5177-463B-873F-017FFADB9409} + Parent + 1 + 0 + 25 + + + {2E87F080-8223-44FC-B6D5-23DF476C2F9D} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=vmSQL2012E;Initial Catalog=SSISConfig;Integrated Security=True;Application Name=SSIS.Parent.SSISConfig.ADO.Net; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISConfig + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + vmSQL2012E + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {7CA63AF3-E92E-43D3-8DB6-A901DFF6014F} + Child1 + 1 + 0 + 4 + + + {81101E8E-CDD7-4112-BE11-D61BA8D03113} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=TestDB;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + TestDB + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=WeatherData;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + WeatherData + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-05-05T02:42:00.6580843Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj.user b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj.user new file mode 100644 index 0000000..3edb390 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/SSISConfig2012.dtproj.user @@ -0,0 +1,23 @@ + + + + + Development + + vmSQL2012E + /SSISDB/SSISConfig2012/SSISConfig2012 + + + false + true + + + LastModifiedTime + LastModifiedTime + 2012-05-05T02:42:00.6580843Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child1.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child1.dtsx new file mode 100644 index 0000000..7897e04 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child1.dtsx @@ -0,0 +1,709 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child2.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child2.dtsx new file mode 100644 index 0000000..d74b280 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Child2.dtsx @@ -0,0 +1,709 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/ErrorTest.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/ErrorTest.dtsx new file mode 100644 index 0000000..f8a5cc8 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/ErrorTest.dtsx @@ -0,0 +1,723 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {E953CFB3-50D7-4515-B9C4-76799697D92A} + Library + My Project + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + {AE361F5A-9589-43E8-BE70-DA93F4C30699} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + + Dim iResponse As Integer = MsgBox("Succeed Package?", MsgBoxStyle.YesNo, sSubComponent) + If iResponse = vbYes Then + Dts.TaskResult = ScriptResults.Success + Else + Dts.TaskResult = ScriptResults.Failure + End If + + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAHJWl08AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAHjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANA5AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAJBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAA +OgAAAAAAAEgAAAACAAUA8CMAAOAVAAABAAAAAAAAADUjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAHkAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgsCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKDQdyXQAAcAkoKQAACgxyYQAAcBoIKCoAAAoKBhwzDgJvJQAA +ChZvKwAACisMAm8lAAAKF28rAAAKKrQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5S +ZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs +LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGlt +ZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAAAAABCU0pCAQABAAAAAAAMAAAAdjQu +MC4zMDMxOQAAAAAFAGwAAADMBwAAI34AADgIAABwCQAAI1N0cmluZ3MAAAAAqBEAAIQAAAAjVVMA +LBIAABAAAAAjR1VJRAAAADwSAACkAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAAB +AAAALgAAAAoAAAAMAAAAGQAAAAQAAAA4AAAAAgAAADYAAAAPAAAABAAAAAgAAAAJAAAACQAAAAEA +AAAFAAAAAQAAAAMAAAADAAAAAgAAAAAARQkBAAAAAAAKAEsBIQEKAH8BYQEGAI8BiAEKAOcBIQEG +AGUCiAEKAOcCvQIGAB0DDAMGAEoDNQMOALEDnAMSADAEBwQGAFEEiAEOAIQEbgQOAJ0EbgQOAMoE +sgQGAPQE4QQKADMFDAUKAEsFEwAOAIAFYwUGALUFlQUGANMFiAEGAPcFiAEKABAGEwAGAFQGNQYG +AHoGaAYGAKEGkAYGALQG4QQSANEGBwQWACoHCgcWAEIHCgcGAFQHiAEKAGIHEwAKAG4HEwAKAHsH +EwAGAJ0HiAESALMHBwQGAA0IlQUGAC0IlQUGAGUISwgGAH4IaAYGAJsINQYGAKkIaAYGAMQIaAYG +AN8IaAYGAPgIaAYGABEJaAYGAC4JaAYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAF4A +NwAJAAEAAgAAARAAaQA3AA0AAQADAAUBAABzAAAADQAFAAgABQEAAIEAAAANAAUADwAAAAAAnACo +AA0ABgARAAABEADZAOQAJQAIABUAAQAAAAgB5AApAAoAGAACAQAAEwEAAC0ACgAaADEAqgEgADEA +0wEtADEA9QE6ADEAGgJHACEA9gKQABEALQOdABEAVgOhABEAyQO/ABEA0QPDAAYGVgTZAFaAXgTc +AFaAZgTcAFAgAAAAAAYYWwETAAEAWCAAAAAABhhbARMAAQBgIAAAAAARGJYBFwABAIwgAAAAABMI +nQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAATCOwBNQABANQgAAAAABMICgJCAAEA7CAAAAAARgJQ +AmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMAagJsAAIANCEAAAAARgJyAnEAAgBIIQAAAAARAHsC +eAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhbARMABACIIQAAAAADCK0CiwAEALwhAAAAAAYYWwET +AAQA0CEAAAAAAxhbARMABADYIQAAAAAWCGIDpQAEABQiAAAAABYIdgOqAAQAKCIAAAAAFgiCA68A +BAAwIgAAAAARGJYBFwAFAEQiAAAAAAYYWwETAAUATCIAAAAAFgjeA8YABQCoIgAAAAAGGFsBEwAF +ALAiAAAAAAYATAQTAAUAAAABAFcCAAABAJACAAABAJACAAABAI4DCQBbARMAYQBbAeoAcQBbAfkA +EQBbARMAeQBbARMAJABbARMALABbARMANABbARMAPABbARMAJACtAosALACtAosANACtAosAPACt +AosAgQBbARMAiQBbARMAkQBbAUgBmQDEBZMBGQBQAmMAGQBZAmgAKQDlBaABGQByAnEAqQABBrAB +GQBbARMAsQBbAcABRAD2ApAATADeA4sATAArBj0CTABbARMAuQBbAUwCKQCDBlcCOQBbAVwCSQBb +ARMAyQCpBngCyQCvBngC0QBbARMAUQBbARMAUQDjBoIC2QA0B4cC4QBLB4wC6QDeA5IC8QBbB5YC ++QCHB50C2QCOB6gCEQFbAUwCGQFbARMAIQFbAagCKQFbARMAMQFbAUgBOQFbAUgBQQFbAUgBSQFb +AUgBUQFbAUgBWQFbAUgBYQFbAUgBaQFbAUgBcQFbAUgBCAAsAOAACAAwAOUAKQCDAIIBLgCzAVEC +LgDDAXgDLgCrAXgDLgB7Ab0CLgCjAWEDLgC7AVECLgBzAbQCLgCDAdwCLgCLASQDLgCTATEDLgDr +AFECLgBjAVsDLgCbAVECQAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAFoBYwAbAP8AYwATAPAA +aQCDAE0BgAArAOUAgwBzAOUAgwAbAP8AgwB7AOUAiQCDAG4BoAArAOUAowDDAMgBowATAPAAwAAr +AOUAwwATAPAAwwDrAFECyQATAG8C4AArAOUA6QATAG8CAAErAOUAAAETAPAACQEbAeUAIAETAPAA +IAErAOUAIwFjAVECIwFrAeUAQAETAPAAQAErAOUAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAEr +AOUAwAETAPAA4AErAOUAAAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9Aq0C +BAABAAYABQAHAAYACAAIAAAAfwFPAAAAOAJUAAAA5wFZAAAARAJeAAAAAAOYAAAAHQO1AAAAlAO6 +AAAAjgPLAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIA +FwARAHUAdQCIABgBHwEmAS0BKgIxAgSAAAABAAAAAAAAAAAAAAAAAOQAAAAEAAAAAAAAAAAAAAAB +AAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAABAAAAAAAAAAAAAAAAQCIAQAAAAALAAAAAAAAAAAA +AADQAOgDAAAAAAsAAAAAAAAAAAAAANAA6wYAAAAAAAAAAAEAAADVBwAABQAEAAYABAAKAAkAAAAQ +AAwAjgIAABAAGQCOAgAAAAAbAI4CLQC2AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNUXzdlM2IyMjVjYTRjMTQ4NTE4N2Y1ZTRj +MGQyNGNiY2IxLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2Fm +ZU9iamVjdFByb3ZpZGVyYDEATXlSZXNvdXJjZXMAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMw +ZDI0Y2JjYjEuTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVl +NGMwZDI0Y2JjYjEAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNp +Yy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlz +dWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0 +ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFBy +b3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2Vz +AG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVx +dWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNl +X18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3Nv +ZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRl +eHQAR2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBT +eXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VN +YW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZp +Z3VyYXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0 +X1ZhbHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVy +LkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVu +dW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJy +b3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21w +aWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhp +ZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFu +ZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9u +ZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBp +bGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5k +bGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xs +ZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMA +Q29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1i +bHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29k +ZUF0dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu +TWFuYWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRf +VmFyaWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNn +Qm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRB +dHRyaWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdlM2IyMjVjYTRj +MTQ4NTE4N2Y1ZTRjMGQyNGNiY2IxLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxh +eGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJz +aW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNz +ZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5 +Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0 +bGVBdHRyaWJ1dGUAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEuZGxsAAAAAAAx +TQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAABdQAGEAYwBr +AGEAZwBlAE4AYQBtAGUAABFUAGEAcwBrAE4AYQBtAGUAAAMuAAAhUwB1AGMAYwBlAGUAZAAgAFAA +YQBjAGsAYQBnAGUAPwAAAEu5jzgyONtOqwPaPznR0mYACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMA +AAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgA +EgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMA +BCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiAC +BhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIB +Dg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQH +ARIMBAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAT +AQAOTXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEE +BwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Q +cm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9z +ZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUB +AAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJx +BSABEnUcAyAAHAYAAw4ODg4KAAMRgIEcEYCFHAQgAQEIBgcECA4ODggBAAgAAAAAAB4BAAEAVAIW +V3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQO +FEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGM3 +ZTVmNjNkLTc2ZmYtNGZiYy05YjNlLTcyYzI3ZDM0YTk4NwAABQEAAQAAFgEAEUNvcHlyaWdodCBA +ICAyMDEyAAAoAQAjU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEAAAAAAPg5AAAA +AAAAAAAAAA46AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgAAAAAAAAAAX0NvckRsbE1haW4A +bXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA3AGUAMwBiADIAMgA1AGMAYQA0AGMA +MQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIAYwBiADEALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA3 +AGUAMwBiADIAMgA1AGMAYQA0AGMAMQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIA +YwBiADEALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAIDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Parent.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Parent.dtsx new file mode 100644 index 0000000..f064de4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/Parent.dtsx @@ -0,0 +1,2239 @@ + + + 6 + + + @[User::ChildPackagePath] + + + + + + + + + + + + + 0 + + + SSISApp1 + + + 0 + + + F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\Child2.dtsx + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + {39D2FD37-8181-4A91-B321-254E9C120FA4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {77A94AD4-3A43-42A3-97B6-931D33DC7C9E} + Library + My Project + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + msBuild + {15BDCFF3-17C8-4621-A09C-B1750B5A1FEE} + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sChildPackagePath As String = Dts.Variables("ChildPackagePath").Value.ToString + Dim iAppPackageID As Integer = Convert.ToInt32(Dts.Variables("AppPackageID").Value) + Dim iPkgInstanceID As Integer = Convert.ToInt32(Dts.Variables("PkgInstanceID").Value) + + Dim sMsg As String = "ChildPackagePath: " & sChildPackagePath & vbCrLf & _ + "AppPackageID: " & iAppPackageID.ToString & vbCrLf & _ + "PkgInstanceID: " & iPkgInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAP7SmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAvjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAHA7AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAxBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACg +OwAAAAAAAEgAAAACAAUAqCQAAMgWAAABAAAAAAAAAO4jAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHADIBAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAAChMEAm8lAAAKbyYA +AApySwAAcG8nAAAKbygAAApvFQAAChMGEQRyXQAAcBEGKCkAAAoTBQJvJQAACm8mAAAKcmEAAHBv +JwAACm8oAAAKbxUAAAoMAm8lAAAKbyYAAApygwAAcG8nAAAKbygAAAooEQAACigqAAAKCgJvJQAA +Cm8mAAAKcp0AAHBvJwAACm8oAAAKKBEAAAooKgAACgscjR4AAAETBxEHFnK5AABwohEHFwiiEQcY +ct8AAHCiEQcZEgAoKwAACqIRBxpyAQEAcKIRBxsSASgrAAAKohEHKCwAAAoNAm8lAAAKby0AAAog +6QMAABEFCXIlAQBwFhcTCBIIby4AAAoCbyUAAAoWby8AAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0 +ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBD +dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJl +c291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAAAAQlNKQgEA +AQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAA +ANgRAAAoAQAAI1VTAAATAAAQAAAAI0dVSUQAAAAQEwAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJ +CQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAAABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAI +AAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAAAwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEB +BgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAdAwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCE +BG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwFCgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgB +CgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBi +B4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcEBgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUG +BgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAqCWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3 +AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkANwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAA +DQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDkACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAt +AAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoCRwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANED +wwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAGGFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiW +ARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMIwwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoC +QgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZAmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJx +AAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkCgAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosA +BAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwETAAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAE +ACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcABQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUA +qCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAFAAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwET +AGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQAWwETACwAWwETADQAWwETADwAWwETACQArQKLACwA +rQKLADQArQKLADwArQKLAIEAWwETAIkAWwETAJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWg +ARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikA +gwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweM +AukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEAWweiAtkAjAeoAgkBlweuAtkApwe5AhEBWwFMAhkB +WwETACEBWwG5AikBWwETADEBWwFIATkBWwFIAUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFI +AWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkAgwCCAS4A2wFRAi4A0wFRAi4AqwE7Ay4AywGPAy4A +4wGPAy4AkwHLAi4AmwHUAi4AowHzAi4AswFIAy4A6wBRAi4AgwFyAy4AuwFRAi4AwwF4A0AAKwDl +AEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMAEwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMA +cwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDIAaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBv +AuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkBGwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkAB +KwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDlAKABKwDlAMABKwDlAMABEwDwAOABKwDlAAACEwDw +AAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsBQwJjAmoCfQK+AgQAAQAGAAUABwAGAAgACAAAAH8B +TwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAAAB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQAC +AAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoC +MQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAK +ABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAACwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAA +AADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAGAAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCO +Ai0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlB +cHBsaWNhdGlvbgBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5NeQBNeUNvbXB1 +dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15 +UmVzb3VyY2VzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwLk15LlJlc291cmNl +cwBNeVNldHRpbmdzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwAFNjcmlwdE1h +aW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNl +cwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29t +cHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQ +cm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2Vy +AG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmpl +Y3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBU +eXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9z +ZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2Vy +dmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3Rl +bS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24A +Q3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBz +ZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9u +U2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3Fs +U2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFz +awBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBG +YWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRp +dG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0 +dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9z +b2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUA +SGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxw +S2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVI +ZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxl +AEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRf +VmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUA +U3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcA +TW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2Jq +ZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBn +ZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZlcnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RX +cmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9ybWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBs +aWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfZmM1MDMz +MjkyY2RiNDRlOGI4NjY0MTJhNjJlODdmZTAuUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlv +blJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3Rl +bS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5Rmls +ZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0 +ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNz +ZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1i +bHlUaXRsZUF0dHJpYnV0ZQBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5kbGwA +AAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABh +AGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMAawBOAGEAbQBlAAADLgAAIUMAaABpAGwAZABQAGEA +YwBrAGEAZwBlAFAAYQB0AGgAABlBAHAAcABQAGEAYwBrAGEAZwBlAEkARAAAG1AAawBnAEkAbgBz +AHQAYQBuAGMAZQBJAEQAACVDAGgAaQBsAGQAUABhAGMAawBhAGcAZQBQAGEAdABoADoAIAAAIQ0A +CgBBAHAAcABQAGEAYwBrAGEAZwBlAEkARAA6ACAAACMNAAoAUABrAGcASQBuAHMAdABhAG4AYwBl +AEkARAA6ACAAAAEAAGFySk/ffDdEg65Ewt1pE4cACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEE +AAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwE +CAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAA +EwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiACBhwE +AAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIBDg4Y +AQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIM +BAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAO +TXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEEBwES +FQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90 +b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9f +SW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAA +AAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJxBSAB +EnUcAyAAHAYAAw4ODg4EAAEIHAUAAQ4dDgUgABKAhQogBgEIDg4OCBACBCABAQgMBwkICA4ODg4O +HQ4CCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3 +b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsg +NAwBAAcxLjAuMC4wAAApAQAkNjBkMGQwYWUtNWMyZS00MDNiLWIzMjgtMTJjMTcxNzgwYTI5AAAF +AQABAAAWAQARQ29weXJpZ2h0IEAgIDIwMTIAACgBACNTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQx +MmE2MmU4N2ZlMAAAmDsAAAAAAAAAAAAArjsAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKA7AAAA +AAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwBmAGMANQAwADMAMwAyADkAMgBjAGQA +YgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcAZgBlADAALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwBm +AGMANQAwADMAMwAyADkAMgBjAGQAYgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcA +ZgBlADAALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAwDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {715BE6DB-A8B9-4598-B677-6ACE4957079D} + Library + My Project + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + {27D9EFCA-9967-445A-A700-B6EC9F4DF797} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sApplicationName As String = Dts.Variables("ApplicationName").Value.ToString + Dim iAppInstanceID As Integer = Convert.ToInt32(Dts.Variables("AppInstanceID").Value) + + Dim sMsg As String = "ApplicationName: " & sApplicationName & vbCrLf & _ + "AppInstanceID: " & iAppInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAB7PmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANw6AABPAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OwAAAAAAAEgAAAACAAUAVCQAAIgWAAABAAAAAAAAAJkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHAN0AAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACg0CbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKEwUJcl0AAHARBSgpAAAKEwQCbyUAAApvJgAACnJhAABwbycA +AApvKAAACm8VAAAKCwJvJQAACm8mAAAKcoEAAHBvJwAACm8oAAAKKBEAAAooKgAACgpynQAAcAdy +wQAAcBIAKCsAAAooLAAACgwCbyUAAApvLQAACiDpAwAAEQQIcuUAAHAWFxMGEgZvLgAACgJvJQAA +ChZvLwAACiq0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VSZWFkZXIs +IG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9r +ZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNvdXJjZVNldAIA +AAAAAAAAAAAAAFBBRFBBRFC0AAAAAAAAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBs +AAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAAANgRAADoAAAAI1VTAMASAAAQAAAAI0dVSUQA +AADQEgAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAA +ABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAIAAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAA +AwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEBBgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAd +AwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCEBG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwF +CgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgBCgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0 +BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBiB4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcE +BgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUGBgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAq +CWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkA +NwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAADQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDk +ACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAtAAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoC +RwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANEDwwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAG +GFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiWARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMI +wwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoCQgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZ +AmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJxAAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkC +gAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosABAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwET +AAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAEACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcA +BQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUAqCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAF +AAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwETAGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQA +WwETACwAWwETADQAWwETADwAWwETACQArQKLACwArQKLADQArQKLADwArQKLAIEAWwETAIkAWwET +AJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWgARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA +9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikAgwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4 +AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweMAukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEA +WweiAtkAjAeqAgkBlwewAtkApwe7AhEBWwFMAhkBWwETACEBWwG7AikBWwETADEBWwFIATkBWwFI +AUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFIAWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkA +gwCCAS4A2wFRAi4A0wFRAi4AqwE6Ay4AywGOAy4A4wGOAy4AkwHKAi4AmwHTAi4AowHyAi4AswFH +Ay4A6wBRAi4AgwFxAy4AuwFRAi4AwwF3A0AAKwDlAEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMA +EwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMAcwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDI +AaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBvAuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkB +GwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkABKwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDl +AKABKwDlAMABEwDwAMABKwDlAOABKwDlAAACEwDwAAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsB +QwJjAmoCfQLAAgQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAA +AB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMA +DwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoCMQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAA +AAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAA +CwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAAAADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAG +AAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2Nv +cmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTVF85ZjMyMjQ5YzlhYTc0 +NzI5YTI3YWI2NWIxYWQ2MDExZi5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2Vz +AFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNUXzlmMzIyNDljOWFhNzQ3 +MjlhMjdhYjY1YjFhZDYwMTFmLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzlmMzIyNDljOWFh +NzQ3MjlhMjdhYjY1YjFhZDYwMTFmAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA +Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B +cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X +ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT +ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl +X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu +Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl +YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2Vy +AF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0 +X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5 +c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5j +T2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJh +c2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2Rl +bABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNv +ZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MA +RGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2Vy +dmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lz +dGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRp +bWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBN +eUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJv +cFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkA +Z2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2Vy +Tm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQu +U3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJp +YWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZl +cnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9y +bWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFz +a0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfOWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYu +UmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRp +bWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0 +RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJp +YnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0 +ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2Vt +Ymx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF85ZjMyMjQ5 +YzlhYTc0NzI5YTI3YWI2NWIxYWQ2MDExZi5kbGwAAAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBz +AC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABhAGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMA +awBOAGEAbQBlAAADLgAAH0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlAAAbQQBwAHAASQBu +AHMAdABhAG4AYwBlAEkARAAAI0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlADoAIAAAIw0A +CgBBAHAAcABJAG4AcwB0AGEAbgBjAGUASQBEADoAIAAAAQAAeYBf4VZzh0OzvkqbDBbvRgAIt3pc +Vhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUS +GAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIe +AAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEF +AAEBEiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAA +AAUgAQERNQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUS +GAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAAT +AQAOTXkuQXBwbGljYXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAE +AAEcHAMHAQIDBwEIBgABEhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT +eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0 +ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg +AQETAAgHAxMAEwATAAQgAQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAA +BAABARwEBwESIAQgABJtBCAAEnEFIAESdRwDIAAcBgADDg4ODgQAAQgcBwAEDg4ODg4FIAASgIUK +IAYBCA4ODggQAgQgAQEICQcHCA4ODg4OAggBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlv +blRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3Bs +YXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGFiNjA4OWQ1LTc0YmQtNDJi +Ny05ZTQwLTU1ZTYxMzMwN2UyZAAABQEAAQAAFgEAEUNvcHlyaWdodCBAICAyMDEyAAAoAQAjU1Rf +OWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYAAAAEOwAAAAAAAAAAAAAeOwAAACAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAEDsAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAA +AAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA5AGYAMwAyADIANAA5AGMAOQBhAGEA +NwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAAMQAxAGYALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA5 +AGYAMwAyADIANAA5AGMAOQBhAGEANwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAA +MQAxAGYALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAMDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/SSISConfig2012.ispac b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/SSISConfig2012.ispac new file mode 100644 index 0000000..98a7682 Binary files /dev/null and b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/bin/Development/SSISConfig2012.ispac differ diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/BuildLog.xml b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/BuildLog.xml new file mode 100644 index 0000000..bda6093 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/BuildLog.xml @@ -0,0 +1,30 @@ + + + + SSISConfig2012 + 2012-05-05T03:06:48.319449Z + EncryptSensitiveWithUserKey + + + + ErrorTest.dtsx + 2012-05-05T02:41:52.3294824Z + EncryptSensitiveWithUserKey + + + Child2.dtsx + 2012-04-23T00:22:46Z + EncryptSensitiveWithUserKey + + + Parent.dtsx + 2012-05-05T03:50:37.4993125Z + EncryptSensitiveWithUserKey + + + Child1.dtsx + 2012-05-05T03:50:44.0021382Z + EncryptSensitiveWithUserKey + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child1.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child1.dtsx new file mode 100644 index 0000000..36d30d5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child1.dtsx @@ -0,0 +1,1626 @@ + + + 6 + + + + + + + + + + + + + + + + + + + + + + select * from [RawTemperature] + select * from (select * from [RawTemperature]) [refTable] +where [refTable].[ID] = ? + 0 + 0 + 1 + 0 + 25 + 25 + <referenceMetadata><referenceColumns><referenceColumn name="ID" dataType="DT_I4" length="0" precision="0" scale="0" codePage="0"/><referenceColumn name="MeasTime" dataType="DT_STR" length="20" precision="0" scale="0" codePage="1252"/><referenceColumn name="MeasDate" dataType="DT_STR" length="20" precision="0" scale="0" codePage="1252"/><referenceColumn name="MinT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MaxT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="AvgT" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MinH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="MaxH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="AvgH" dataType="DT_STR" length="7" precision="0" scale="0" codePage="1252"/><referenceColumn name="Batt" dataType="DT_STR" length="3" precision="0" scale="0" codePage="1252"/></referenceColumns></referenceMetadata> + #{Package\Data Flow Task\OLESRC Temperature.Outputs[OLE DB Source Output].Columns[ID]}; + 1252 + false + + + + + + + + + + ID + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [raw].[Temperature] + + + + 1252 + false + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [dbo].[RawTemperature] + + + 1252 + false + 3 + false + false + TABLOCK,CHECK_CONSTRAINTS + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + DataSourceViewID + + + TableInfoObjectType + Table + + + + + + + OverwriteParamsSQLProp + false + + + UsedTableName + + + + TableInfoObjectType + 0 + + + DataSourceViewID + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child2.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child2.dtsx new file mode 100644 index 0000000..ad48aab --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Child2.dtsx @@ -0,0 +1,709 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {0307EA5A-9485-4252-BC94-019F64B226C0} + Library + My Project + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_30fb7de4211e4a95a1f9613de79400b3 + ST_30fb7de4211e4a95a1f9613de79400b3 + {E50B6700-37E6-4F6E-BB36-B7DD3976FC5B} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + + MsgBox("I am " & sPackageName, , sTaskName) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAJ1NlE8AAAAAAAAAAOAAAiELAQgAABoAAAAGAAAAAAAA7jkA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAJg5AABTAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAA9BkAAAAgAAAAGgAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAcAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADQ +OQAAAAAAAEgAAAACAAUA1CMAAMQVAAABAAAAAAAAABwjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAGAAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgoCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKC3JdAABwBigpAAAKFgcoKgAACiYCbyUAAAoWbysAAAoqtAAA +AM7K774BAAAAkQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwg +VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2 +MTkzNGUwODkjU3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQ +QURQQURQtAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAMwHAAAjfgAAOAgA +AHAJAAAjU3RyaW5ncwAAAACoEQAAbAAAACNVUwAUEgAAEAAAACNHVUlEAAAAJBIAAKADAAAjQmxv +YgAAAAAAAAACAAABVx2iCQkPAAAA+iUzABYAAAEAAAAuAAAACgAAAAwAAAAZAAAABAAAADgAAAAC +AAAANgAAAA8AAAAEAAAACAAAAAkAAAAJAAAAAQAAAAUAAAABAAAAAwAAAAMAAAACAAAAAABFCQEA +AAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKIAQoA5wK9AgYAHQMMAwYASgM1Aw4AsQOc +AxIAMAQHBAYAUQSIAQ4AhARuBA4AnQRuBA4AygSyBAYA9AThBAoAMwUMBQoASwUTAA4AgAVjBQYA +tQWVBQYA0wWIAQYA9wWIAQoAEAYTAAYAVAY1BgYAegZoBgYAoQaQBgYAtAbhBBIA0QYHBBYAKgcK +BxYAQgcKBwYAVAeIAQoAYgcTAAoAbgcTAAoAewcTAAYAnQeIARIAswcHBAYADQiVBQYALQiVBQYA +ZQhLCAYAfghoBgYAmwg1BgYAqQhoBgYAxAhoBgYA3whoBgYA+AhoBgYAEQloBgYALgloBgAAAAAB +AAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAXgA3AAkAAQACAAABEABpADcADQABAAMABQEAAHMA +AAANAAUACAAFAQAAgQAAAA0ABQAPAAAAAACcAKgADQAGABEAAAEQANkA5AAlAAgAFQABAAAACAHk +ACkACgAYAAIBAAATAQAALQAKABoAMQCqASAAMQDTAS0AMQD1AToAMQAaAkcAIQD2ApAAEQAtA50A +EQBWA6EAEQDJA78AEQDRA8MABgZWBNkAVoBeBNwAVoBmBNwAUCAAAAAABhhbARMAAQBYIAAAAAAG +GFsBEwABAGAgAAAAABEYlgEXAAEAjCAAAAAAEwidARsAAQCkIAAAAAATCMMBKAABALwgAAAAABMI +7AE1AAEA1CAAAAAAEwgKAkIAAQDsIAAAAABGAlACYwABAAghAAAAAEYCWQJoAAIAHCEAAAAAgwBq +AmwAAgA0IQAAAABGAnICcQACAEghAAAAABEAewJ4AAIAZCEAAAAAAQCZAoAAAwCAIQAAAAAGGFsB +EwAEAIghAAAAAAMIrQKLAAQAvCEAAAAABhhbARMABADQIQAAAAADGFsBEwAEANghAAAAABYIYgOl +AAQAFCIAAAAAFgh2A6oABAAoIgAAAAAWCIIDrwAEADAiAAAAABEYlgEXAAUARCIAAAAABhhbARMA +BQBMIgAAAAAWCN4DxgAFAKgiAAAAAAYYWwETAAUAsCIAAAAABgBMBBMABQAAAAEAVwIAAAEAkAIA +AAEAkAIAAAEAjgMJAFsBEwBhAFsB6gBxAFsB+QARAFsBEwB5AFsBEwAkAFsBEwAsAFsBEwA0AFsB +EwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8AK0CiwCBAFsBEwCJAFsBEwCRAFsBSAGZAMQFkwEZ +AFACYwAZAFkCaAApAOUFoAEZAHICcQCpAAEGsAEZAFsBEwCxAFsBwAFEAPYCkABMAN4DiwBMACsG +PQJMAFsBEwC5AFsBTAIpAIMGVwI5AFsBXAJJAFsBEwDJAKkGeALJAK8GeALRAFsBEwBRAFsBEwBR +AOMGggLZADQHhwLhAEsHjALpAN4DkgLxAFsHlgL5AIcHnALZAI4HpwIRAVsBTAIZAVsBEwAhAVsB +pwIpAVsBEwAxAVsBSAE5AVsBSAFBAVsBSAFJAVsBSAFRAVsBSAFZAVsBSAFhAVsBSAFpAVsBSAFx +AVsBSAEIACwA4AAIADAA5QApAIMAggEuALsBUQIuALMBUQIuAIsBIQMuAKsBdQMuAMMBdQMuAHMB +sQIuAHsBugIuAIMB2QIuAJMBLgMuAOsAUQIuAGMBWAMuAJsBUQIuAKMBXgNAACsA5QBAABMA8ABD +ABMA8ABDABsA/wBJAIMAWgFjABMA8ABjABsA/wBpAIMATQGAACsA5QCDAHsA5QCDAHMA5QCDABsA +/wCJAIMAbgGgACsA5QCjAMMAyAGjABMA8ADAACsA5QDDABMA8ADDAOsAUQLJABMAbwLgACsA5QDp +ABMAbwIAARMA8AAAASsA5QAJARsB5QAgARMA8AAgASsA5QAjAWsB5QAjAWMBUQJAASsA5QBAARMA +8ABgASsA5QBgARMA8ACAASsA5QCgASsA5QDAARMA8ADAASsA5QDgASsA5QAAAhMA8AAAAisA5QA0 +ATkBPgFDAZgBnAGnAawBuwG7AUMCYwJqAn0CrAIEAAEABgAFAAcABgAIAAgAAAB/AU8AAAA4AlQA +AADnAVkAAABEAl4AAAAAA5gAAAAdA7UAAACUA7oAAACOA8sAAgAEAAMAAgAFAAUAAgAGAAcAAgAH +AAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8AAgAXABEAdQB1AIgAGAEfASYBLQEqAjECBIAAAAEA +AAAAAAAAAAAAAAAA5AAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAAAAAAAAAACgATAAAAAAAE +AAAAAAAAAAAAAAABAIgBAAAAAAsAAAAAAAAAAAAAANAA6AMAAAAACwAAAAAAAAAAAAAA0ADrBgAA +AAAAAAAAAQAAANUHAAAFAAQABgAEAAoACQAAABAADACOAgAAEAAZAI4CAAAAABsAjgItALYBLQA4 +AgAAAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRp +b24AU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuTXkATXlDb21wdXRlcgBNeVBy +b2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBNeVJlc291cmNl +cwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMy5NeS5SZXNvdXJjZXMATXlTZXR0 +aW5ncwBTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwBTY3JpcHRNYWluAFNjcmlw +dFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGlj +YXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5 +c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIA +Z2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJP +YmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlk +ZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRU +eXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3Rh +bmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLklu +dGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3Vy +Y2VzAFJlc291cmNlTWFuYWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ +bmZvAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1 +cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdz +QmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5T +Y3JpcHRUYXNrAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJU +U2NyaXB0T2JqZWN0TW9kZWxCYXNlAE1haW4ARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBT +eXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dz +YWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUA +U3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1 +YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1 +bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRB +dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBH +ZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0 +b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5 +c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5S +ZWZsZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IA +RW50ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdE9iamVjdE1vZGVs +AGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29mdC5TcWxTZXJ2 +ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAGdldF9WYXJpYWJsZXMAVmFyaWFibGUAZ2V0X0l0ZW0A +U3RyaW5nAENvbmNhdABJbnRlcmFjdGlvbgBNc2dCb3hSZXN1bHQATXNnQm94U3R5bGUATXNnQm94 +AHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5 +UG9pbnRBdHRyaWJ1dGUAU1RfMzBmYjdkZTQyMTFlNGE5NWExZjk2MTNkZTc5NDAwYjMuUmVzb3Vy +Y2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21w +YXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3 +b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBB +c3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3Nl +bWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVz +Y3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF8zMGZiN2RlNDIxMWU0 +YTk1YTFmOTYxM2RlNzk0MDBiMy5kbGwAAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0A +eQBSAGUAcwBvAHUAcgBjAGUAcwAAF1AAYQBjAGsAYQBnAGUATgBhAG0AZQAAEVQAYQBzAGsATgBh +AG0AZQAAC0kAIABhAG0AIAAAAAAAUz2J2e9P6EmOqZh0OLHJ9AAIt3pcVhk04IkIsD9ffxHVCjoD +IAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgB +EhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQ +HgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEFAAEBEiEECAASHQQIABIh +AwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAAAAUgAQERNQgBAAEAAAAA +AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIY +ARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAATAQAOTXkuQXBwbGljYXRp +b24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAEAAEcHAMHAQIDBwEIBgAB +EhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp +Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE +aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg +AQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAABAABARwEBwESIAQgABJt +BCAAEnEFIAESdRwDIAAcBQACDg4OCgADEYCBHBGAhRwEIAEBCAQHAg4OCAEACAAAAAAAHgEAAQBU +AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEA +VA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAk +ZTdmODE1MzQtMWRhMS00MTBkLTk2ODMtMGIxMGQxNDRjNTYwAAAFAQABAAAWAQARQ29weXJpZ2h0 +IEAgIDIwMTIAACgBACNTVF8zMGZiN2RlNDIxMWU0YTk1YTFmOTYxM2RlNzk0MDBiMwAAAADAOQAA +AAAAAAAAAADeOQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DkAAAAAAAAAAAAAAAAAAAAAX0Nv +ckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAA +AFhAAACAAwAAAAAAAAAAAACAAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAA +vQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAAB +AFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAA +AAAAALAE4AIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAvAIAAAEAMAAwADAAMAAw +ADQAYgAwAAAAcAAkAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAHAA +KAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBUAF8AMwAwAGYAYgA3AGQAZQA0ADIAMQAx +AGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAwADAAYgAzAC4AZABsAGwAAABIABIA +AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIAAg +ADIAMAAxADIAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBUAF8A +MwAwAGYAYgA3AGQAZQA0ADIAMQAxAGUANABhADkANQBhADEAZgA5ADYAMQAzAGQAZQA3ADkANAAw +ADAAYgAzAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAVABfADMA +MABmAGIANwBkAGUANAAyADEAMQBlADQAYQA5ADUAYQAxAGYAOQA2ADEAMwBkAGUANwA5ADQAMAAw +AGIAMwAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAA +AAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAPA5AAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/ErrorTest.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/ErrorTest.dtsx new file mode 100644 index 0000000..292f520 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/ErrorTest.dtsx @@ -0,0 +1,723 @@ + + + 6 + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {E953CFB3-50D7-4515-B9C4-76799697D92A} + Library + My Project + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + ST_7e3b225ca4c1485187f5e4c0d24cbcb1 + {AE361F5A-9589-43E8-BE70-DA93F4C30699} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + + Dim iResponse As Integer = MsgBox("Succeed Package?", MsgBoxStyle.YesNo, sSubComponent) + If iResponse = vbYes Then + Dts.TaskResult = ScriptResults.Success + Else + Dts.TaskResult = ScriptResults.Failure + End If + + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAHJWl08AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAHjoA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANA5AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAJBoAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAA +OgAAAAAAAEgAAAACAAUA8CMAAOAVAAABAAAAAAAAADUjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzADAHkAAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACgsCbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKDQdyXQAAcAkoKQAACgxyYQAAcBoIKCoAAAoKBhwzDgJvJQAA +ChZvKwAACisMAm8lAAAKF28rAAAKKrQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5S +ZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs +LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGlt +ZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAAAAABCU0pCAQABAAAAAAAMAAAAdjQu +MC4zMDMxOQAAAAAFAGwAAADMBwAAI34AADgIAABwCQAAI1N0cmluZ3MAAAAAqBEAAIQAAAAjVVMA +LBIAABAAAAAjR1VJRAAAADwSAACkAwAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAAB +AAAALgAAAAoAAAAMAAAAGQAAAAQAAAA4AAAAAgAAADYAAAAPAAAABAAAAAgAAAAJAAAACQAAAAEA +AAAFAAAAAQAAAAMAAAADAAAAAgAAAAAARQkBAAAAAAAKAEsBIQEKAH8BYQEGAI8BiAEKAOcBIQEG +AGUCiAEKAOcCvQIGAB0DDAMGAEoDNQMOALEDnAMSADAEBwQGAFEEiAEOAIQEbgQOAJ0EbgQOAMoE +sgQGAPQE4QQKADMFDAUKAEsFEwAOAIAFYwUGALUFlQUGANMFiAEGAPcFiAEKABAGEwAGAFQGNQYG +AHoGaAYGAKEGkAYGALQG4QQSANEGBwQWACoHCgcWAEIHCgcGAFQHiAEKAGIHEwAKAG4HEwAKAHsH +EwAGAJ0HiAESALMHBwQGAA0IlQUGAC0IlQUGAGUISwgGAH4IaAYGAJsINQYGAKkIaAYGAMQIaAYG +AN8IaAYGAPgIaAYGABEJaAYGAC4JaAYAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAF4A +NwAJAAEAAgAAARAAaQA3AA0AAQADAAUBAABzAAAADQAFAAgABQEAAIEAAAANAAUADwAAAAAAnACo +AA0ABgARAAABEADZAOQAJQAIABUAAQAAAAgB5AApAAoAGAACAQAAEwEAAC0ACgAaADEAqgEgADEA +0wEtADEA9QE6ADEAGgJHACEA9gKQABEALQOdABEAVgOhABEAyQO/ABEA0QPDAAYGVgTZAFaAXgTc +AFaAZgTcAFAgAAAAAAYYWwETAAEAWCAAAAAABhhbARMAAQBgIAAAAAARGJYBFwABAIwgAAAAABMI +nQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAATCOwBNQABANQgAAAAABMICgJCAAEA7CAAAAAARgJQ +AmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMAagJsAAIANCEAAAAARgJyAnEAAgBIIQAAAAARAHsC +eAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhbARMABACIIQAAAAADCK0CiwAEALwhAAAAAAYYWwET +AAQA0CEAAAAAAxhbARMABADYIQAAAAAWCGIDpQAEABQiAAAAABYIdgOqAAQAKCIAAAAAFgiCA68A +BAAwIgAAAAARGJYBFwAFAEQiAAAAAAYYWwETAAUATCIAAAAAFgjeA8YABQCoIgAAAAAGGFsBEwAF +ALAiAAAAAAYATAQTAAUAAAABAFcCAAABAJACAAABAJACAAABAI4DCQBbARMAYQBbAeoAcQBbAfkA +EQBbARMAeQBbARMAJABbARMALABbARMANABbARMAPABbARMAJACtAosALACtAosANACtAosAPACt +AosAgQBbARMAiQBbARMAkQBbAUgBmQDEBZMBGQBQAmMAGQBZAmgAKQDlBaABGQByAnEAqQABBrAB +GQBbARMAsQBbAcABRAD2ApAATADeA4sATAArBj0CTABbARMAuQBbAUwCKQCDBlcCOQBbAVwCSQBb +ARMAyQCpBngCyQCvBngC0QBbARMAUQBbARMAUQDjBoIC2QA0B4cC4QBLB4wC6QDeA5IC8QBbB5YC ++QCHB50C2QCOB6gCEQFbAUwCGQFbARMAIQFbAagCKQFbARMAMQFbAUgBOQFbAUgBQQFbAUgBSQFb +AUgBUQFbAUgBWQFbAUgBYQFbAUgBaQFbAUgBcQFbAUgBCAAsAOAACAAwAOUAKQCDAIIBLgCzAVEC +LgDDAXgDLgCrAXgDLgB7Ab0CLgCjAWEDLgC7AVECLgBzAbQCLgCDAdwCLgCLASQDLgCTATEDLgDr +AFECLgBjAVsDLgCbAVECQAArAOUAQAATAPAAQwAbAP8AQwATAPAASQCDAFoBYwAbAP8AYwATAPAA +aQCDAE0BgAArAOUAgwBzAOUAgwAbAP8AgwB7AOUAiQCDAG4BoAArAOUAowDDAMgBowATAPAAwAAr +AOUAwwATAPAAwwDrAFECyQATAG8C4AArAOUA6QATAG8CAAErAOUAAAETAPAACQEbAeUAIAETAPAA +IAErAOUAIwFjAVECIwFrAeUAQAETAPAAQAErAOUAYAETAPAAYAErAOUAgAErAOUAoAErAOUAwAEr +AOUAwAETAPAA4AErAOUAAAIrAOUAAAITAPAANAE5AT4BQwGYAZwBpwGsAbsBuwFDAmMCagJ9Aq0C +BAABAAYABQAHAAYACAAIAAAAfwFPAAAAOAJUAAAA5wFZAAAARAJeAAAAAAOYAAAAHQO1AAAAlAO6 +AAAAjgPLAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIA +FwARAHUAdQCIABgBHwEmAS0BKgIxAgSAAAABAAAAAAAAAAAAAAAAAOQAAAAEAAAAAAAAAAAAAAAB +AAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAABAAAAAAAAAAAAAAAAQCIAQAAAAALAAAAAAAAAAAA +AADQAOgDAAAAAAsAAAAAAAAAAAAAANAA6wYAAAAAAAAAAAEAAADVBwAABQAEAAYABAAKAAkAAAAQ +AAwAjgIAABAAGQCOAgAAAAAbAI4CLQC2AS0AOAIAAAAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jv +c29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNUXzdlM2IyMjVjYTRjMTQ4NTE4N2Y1ZTRj +MGQyNGNiY2IxLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2Fm +ZU9iamVjdFByb3ZpZGVyYDEATXlSZXNvdXJjZXMAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMw +ZDI0Y2JjYjEuTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVl +NGMwZDI0Y2JjYjEAU2NyaXB0TWFpbgBTY3JpcHRSZXN1bHRzAE1pY3Jvc29mdC5WaXN1YWxCYXNp +Yy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlz +dWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0 +ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFBy +b3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2Vz +AG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVx +dWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNl +X18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3Nv +ZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRl +eHQAR2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBT +eXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VN +YW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVtLkNvbmZp +Z3VyYXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmplY3QAZ2V0 +X1ZhbHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3FsU2VydmVy +LkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBNYWluAEVu +dW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJy +b3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21w +aWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhp +ZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFu +ZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9u +ZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBp +bGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5k +bGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xs +ZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMA +Q29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1i +bHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29k +ZUF0dHJpYnV0ZQBTY3JpcHRPYmplY3RNb2RlbABnZXRfRHRzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu +TWFuYWdlZERUUwBNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lAFZhcmlhYmxlcwBnZXRf +VmFyaWFibGVzAFZhcmlhYmxlAGdldF9JdGVtAFN0cmluZwBDb25jYXQASW50ZXJhY3Rpb24ATXNn +Qm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlhbnRB +dHRyaWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAFNUXzdlM2IyMjVjYTRj +MTQ4NTE4N2Y1ZTRjMGQyNGNiY2IxLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxh +eGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJz +aW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNz +ZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5 +Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0 +bGVBdHRyaWJ1dGUAU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEuZGxsAAAAAAAx +TQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAABdQAGEAYwBr +AGEAZwBlAE4AYQBtAGUAABFUAGEAcwBrAE4AYQBtAGUAAAMuAAAhUwB1AGMAYwBlAGUAZAAgAFAA +YQBjAGsAYQBnAGUAPwAAAEu5jzgyONtOqwPaPznR0mYACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMA +AAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgA +EgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMA +BCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiAC +BhwEAAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIB +Dg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQH +ARIMBAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAT +AQAOTXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEE +BwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Q +cm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9z +ZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUB +AAAAAAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJx +BSABEnUcAyAAHAYAAw4ODg4KAAMRgIEcEYCFHAQgAQEIBgcECA4ODggBAAgAAAAAAB4BAAEAVAIW +V3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQO +FEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGM3 +ZTVmNjNkLTc2ZmYtNGZiYy05YjNlLTcyYzI3ZDM0YTk4NwAABQEAAQAAFgEAEUNvcHlyaWdodCBA +ICAyMDEyAAAoAQAjU1RfN2UzYjIyNWNhNGMxNDg1MTg3ZjVlNGMwZDI0Y2JjYjEAAAAAAPg5AAAA +AAAAAAAAAA46AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgAAAAAAAAAAX0NvckRsbE1haW4A +bXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA3AGUAMwBiADIAMgA1AGMAYQA0AGMA +MQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIAYwBiADEALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA3 +AGUAMwBiADIAMgA1AGMAYQA0AGMAMQA0ADgANQAxADgANwBmADUAZQA0AGMAMABkADIANABjAGIA +YwBiADEALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8ANwBl +ADMAYgAyADIANQBjAGEANABjADEANAA4ADUAMQA4ADcAZgA1AGUANABjADAAZAAyADQAYwBiAGMA +YgAxAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAIDoAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Parent.dtsx b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Parent.dtsx new file mode 100644 index 0000000..ed1e13e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Parent.dtsx @@ -0,0 +1,2241 @@ + + + 6 + + + @[User::ChildPackagePath] + + + + + + + + + + + + + 0 + + + SSISApp1 + + + 0 + + + F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\Child2.dtsx + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + {39D2FD37-8181-4A91-B321-254E9C120FA4} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {77A94AD4-3A43-42A3-97B6-931D33DC7C9E} + Library + My Project + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + ST_fc5033292cdb44e8b866412a62e87fe0 + ST_fc5033292cdb44e8b866412a62e87fe0 + msBuild + {15BDCFF3-17C8-4621-A09C-B1750B5A1FEE} + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sChildPackagePath As String = Dts.Variables("ChildPackagePath").Value.ToString + Dim iAppPackageID As Integer = Convert.ToInt32(Dts.Variables("AppPackageID").Value) + Dim iPkgInstanceID As Integer = Convert.ToInt32(Dts.Variables("PkgInstanceID").Value) + + Dim sMsg As String = "ChildPackagePath: " & sChildPackagePath & vbCrLf & _ + "AppPackageID: " & iAppPackageID.ToString & vbCrLf & _ + "PkgInstanceID: " & iPkgInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAP7SmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAAvjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAHA7AABLAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAxBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACg +OwAAAAAAAEgAAAACAAUAqCQAAMgWAAABAAAAAAAAAO4jAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHADIBAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAAChMEAm8lAAAKbyYA +AApySwAAcG8nAAAKbygAAApvFQAAChMGEQRyXQAAcBEGKCkAAAoTBQJvJQAACm8mAAAKcmEAAHBv +JwAACm8oAAAKbxUAAAoMAm8lAAAKbyYAAApygwAAcG8nAAAKbygAAAooEQAACigqAAAKCgJvJQAA +Cm8mAAAKcp0AAHBvJwAACm8oAAAKKBEAAAooKgAACgscjR4AAAETBxEHFnK5AABwohEHFwiiEQcY +ct8AAHCiEQcZEgAoKwAACqIRBxpyAQEAcKIRBxsSASgrAAAKohEHKCwAAAoNAm8lAAAKby0AAAog +6QMAABEFCXIlAQBwFhcTCBIIby4AAAoCbyUAAAoWby8AAAoqtAAAAM7K774BAAAAkQAAAGxTeXN0 +ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBD +dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJl +c291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAAAAQlNKQgEA +AQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAA +ANgRAAAoAQAAI1VTAAATAAAQAAAAI0dVSUQAAAAQEwAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJ +CQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAAABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAI +AAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAAAwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEB +BgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAdAwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCE +BG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwFCgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgB +CgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBi +B4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcEBgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUG +BgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAqCWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3 +AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkANwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAA +DQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDkACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAt +AAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoCRwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANED +wwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAGGFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiW +ARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMIwwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoC +QgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZAmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJx +AAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkCgAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosA +BAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwETAAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAE +ACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcABQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUA +qCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAFAAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwET +AGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQAWwETACwAWwETADQAWwETADwAWwETACQArQKLACwA +rQKLADQArQKLADwArQKLAIEAWwETAIkAWwETAJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWg +ARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikA +gwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweM +AukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEAWweiAtkAjAeoAgkBlweuAtkApwe5AhEBWwFMAhkB +WwETACEBWwG5AikBWwETADEBWwFIATkBWwFIAUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFI +AWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkAgwCCAS4A2wFRAi4A0wFRAi4AqwE7Ay4AywGPAy4A +4wGPAy4AkwHLAi4AmwHUAi4AowHzAi4AswFIAy4A6wBRAi4AgwFyAy4AuwFRAi4AwwF4A0AAKwDl +AEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMAEwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMA +cwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDIAaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBv +AuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkBGwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkAB +KwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDlAKABKwDlAMABKwDlAMABEwDwAOABKwDlAAACEwDw +AAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsBQwJjAmoCfQK+AgQAAQAGAAUABwAGAAgACAAAAH8B +TwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAAAB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQAC +AAYABwACAAcACQACAA8ACwACABIADQACABMADwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoC +MQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAK +ABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAACwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAA +AADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAGAAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCO +Ai0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlB +cHBsaWNhdGlvbgBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5NeQBNeUNvbXB1 +dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15 +UmVzb3VyY2VzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwLk15LlJlc291cmNl +cwBNeVNldHRpbmdzAFNUX2ZjNTAzMzI5MmNkYjQ0ZThiODY2NDEyYTYyZTg3ZmUwAFNjcmlwdE1h +aW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNl +cwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29t +cHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQ +cm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2Vy +AG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmpl +Y3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBU +eXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9z +ZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2Vy +dmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3Rl +bS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24A +Q3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBz +ZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9u +U2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3Fs +U2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFz +awBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBG +YWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRp +dG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0 +dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9z +b2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUA +SGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxw +S2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVI +ZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxl +AEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRf +VmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUA +U3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcA +TW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2Jq +ZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBn +ZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZlcnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RX +cmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9ybWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBs +aWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFza0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfZmM1MDMz +MjkyY2RiNDRlOGI4NjY0MTJhNjJlODdmZTAuUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlv +blJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3Rl +bS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5Rmls +ZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0 +ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNz +ZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1i +bHlUaXRsZUF0dHJpYnV0ZQBTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQxMmE2MmU4N2ZlMC5kbGwA +AAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABh +AGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMAawBOAGEAbQBlAAADLgAAIUMAaABpAGwAZABQAGEA +YwBrAGEAZwBlAFAAYQB0AGgAABlBAHAAcABQAGEAYwBrAGEAZwBlAEkARAAAG1AAawBnAEkAbgBz +AHQAYQBuAGMAZQBJAEQAACVDAGgAaQBsAGQAUABhAGMAawBhAGcAZQBQAGEAdABoADoAIAAAIQ0A +CgBBAHAAcABQAGEAYwBrAGEAZwBlAEkARAA6ACAAACMNAAoAUABrAGcASQBuAHMAdABhAG4AYwBl +AEkARAA6ACAAAAEAAGFySk/ffDdEg65Ewt1pE4cACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEE +AAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwE +CAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAA +EwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiACBhwE +AAASIAQIABIgCImEXc2AgMyRAgYIAwYRKAQAAAAABAEAAAAFIAEBETUIAQABAAAAAAAFIAIBDg4Y +AQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIM +BAcBEggEBwESEQQHARIUBCABAQ4MAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAO +TXkuV2ViU2VydmljZXMAABABAAtNeS5Db21wdXRlcgAABAABHBwDBwECAwcBCAYAARIVEVEEBwES +FQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90 +b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9f +SW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAA +AAQgABJhBiACAQ4SYQYHAhIdEh0EBwESIQgBAAIAAAAAAAQAAQEcBAcBEiAEIAASbQQgABJxBSAB +EnUcAyAAHAYAAw4ODg4EAAEIHAUAAQ4dDgUgABKAhQogBgEIDg4OCBACBCABAQgMBwkICA4ODg4O +HQ4CCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3 +b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsg +NAwBAAcxLjAuMC4wAAApAQAkNjBkMGQwYWUtNWMyZS00MDNiLWIzMjgtMTJjMTcxNzgwYTI5AAAF +AQABAAAWAQARQ29weXJpZ2h0IEAgIDIwMTIAACgBACNTVF9mYzUwMzMyOTJjZGI0NGU4Yjg2NjQx +MmE2MmU4N2ZlMAAAmDsAAAAAAAAAAAAArjsAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKA7AAAA +AAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwBmAGMANQAwADMAMwAyADkAMgBjAGQA +YgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcAZgBlADAALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwBm +AGMANQAwADMAMwAyADkAMgBjAGQAYgA0ADQAZQA4AGIAOAA2ADYANAAxADIAYQA2ADIAZQA4ADcA +ZgBlADAALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AZgBj +ADUAMAAzADMAMgA5ADIAYwBkAGIANAA0AGUAOABiADgANgA2ADQAMQAyAGEANgAyAGUAOAA3AGYA +ZQAwAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAwDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} + Debug + AnyCPU + 8.0.30703 + 2.0 + {715BE6DB-A8B9-4598-B677-6ACE4957079D} + Library + My Project + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + v4.0 + 512 + + + true + full + false + .\bin\Debug\ + false + true + true + prompt + 4 + + + false + true + .\bin\Release\ + false + false + true + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Code + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + + + True + True + Resources.resx + Code + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + Code + + + Code + + + + + + + + + + + SSIS_ST110 + + + + +]]> + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + ]]> + + + + + + +]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + + +Partial Friend NotInheritable Class MySettings + Inherits System.Configuration.ApplicationSettingsBase + + Private Shared m_Value As MySettings + + Private Shared m_SyncObject As Object = New Object + + _ + Public Shared ReadOnly Property Value() As MySettings + Get + If (MySettings.m_Value Is Nothing) Then + System.Threading.Monitor.Enter(MySettings.m_SyncObject) + If (MySettings.m_Value Is Nothing) Then + Try + MySettings.m_Value = New MySettings + Finally + System.Threading.Monitor.Exit(MySettings.m_SyncObject) + End Try + End If + End If + Return MySettings.m_Value + End Get + End Property +End Class]]> + + + + ST_9f32249c9aa74729a27ab65b1ad6011f + ST_9f32249c9aa74729a27ab65b1ad6011f + {27D9EFCA-9967-445A-A700-B6EC9F4DF797} + msBuild + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + +]]> + _ + _ +Partial Public Class ScriptMain + Inherits 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: + ' startTime = 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: + ' batchId = Dts.Variables("$Package::batchId").Value + + 'Example of reading from a project parameter: + ' batchId = Dts.Variables("$Project::batchId").Value + + 'Example of reading from a sensitive project parameter: + ' batchId = Dts.Variables("$Project::batchId").GetSensitiveValue() +#End Region + +#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, fireAgain) + + 'Example of firing a warning event: + ' Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0) +#End Region + +#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: + ' Dim rawConnection As Object = Dts.Connections("Sales DB").AcquireConnection(Dts.Transaction) + ' Dim myADONETConnection As SqlConnection = CType(rawConnection, SqlConnection) + ' + ' Dts.Connections("Sales DB").ReleaseConnection(rawConnection) + + 'Example of using a File connection manager + ' Dim rawConnection As Object = Dts.Connections("Prices.zip").AcquireConnection(Dts.Transaction) + ' Dim filePath As String = CType(rawConnection, String) + ' + ' Dts.Connections("Prices.zip").ReleaseConnection(rawConnection) +#End Region + + '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 Sub Main() + + Dim sPackageName As String = Dts.Variables("PackageName").Value.ToString + Dim sTaskName As String = Dts.Variables("TaskName").Value.ToString + Dim sSubComponent As String = sPackageName & "." & sTaskName + Dim sApplicationName As String = Dts.Variables("ApplicationName").Value.ToString + Dim iAppInstanceID As Integer = Convert.ToInt32(Dts.Variables("AppInstanceID").Value) + + Dim sMsg As String = "ApplicationName: " & sApplicationName & vbCrLf & _ + "AppInstanceID: " & iAppInstanceID.ToString + Dts.Events.FireInformation(1001, sSubComponent, sMsg, "", 0, True) + + Dts.TaskResult = ScriptResults.Success + End Sub + +#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 + End Enum + +#End Region + +End Class]]> + +' This code was generated by a tool. +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict Off +Option Explicit On + + +Namespace My.Resources + + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + 'This class was auto-generated by the Strongly Typed Resource Builder + 'class via a tool like ResGen or Visual Studio.NET. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + Class MyResources + + Private Shared _resMgr As System.Resources.ResourceManager + + Private Shared _resCulture As System.Globalization.CultureInfo + + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager + Get + If (_resMgr Is Nothing) Then + Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly) + _resMgr = temp + End If + Return _resMgr + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Public Shared Property Culture() As System.Globalization.CultureInfo + Get + Return _resCulture + End Get + Set + _resCulture = value + End Set + End Property + End Class +End Namespace]]> + TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v +ZGUuDQ0KJAAAAAAAAABQRQAATAEDAB7PmE8AAAAAAAAAAOAAAiELAQgAABwAAAAGAAAAAAAALjsA +AAAgAAAAQAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAQIUAABAA +ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANw6AABPAAAAAEAAANgDAAAAAAAAAAAAAAAAAAAA +AAAAAGAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAANBsAAAAgAAAAHAAAAAIA +AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANgDAAAAQAAAAAQAAAAeAAAAAAAAAAAAAAAAAABAAABA +LnJlbG9jAAAMAAAAAGAAAAACAAAAIgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAQ +OwAAAAAAAEgAAAACAAUAVCQAAIgWAAABAAAAAAAAAJkjAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA +AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA +AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE +bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw +AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB +AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA +CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK +fRkAAAoqAB4CKBcAAAoqEzACAC0AAAAMAAARfgYAAAQtIHIBAABw0AcAAAIoFAAACm8eAAAKcx8A +AAoLB4AGAAAEfgYAAAQqAAAAEzABAAYAAAANAAARfgcAAAQqAAAeAoAHAAAEKkJzFwAACigRAAAK +gAkAAAQqAAAAHgIoIAAACiobMAEAPwAAAA4AABF+CAAABC0yfgkAAAQoEQAACighAAAKfggAAAQt +HHMWAAAGgAgAAATeEH4JAAAEKBEAAAooIgAACtx+CAAABCoAARAAAAIAHQAMKQAQAAAAAR4CKCQA +AAoqEzAHAN0AAAAPAAARAm8lAAAKbyYAAApyMwAAcG8nAAAKbygAAApvFQAACg0CbyUAAApvJgAA +CnJLAABwbycAAApvKAAACm8VAAAKEwUJcl0AAHARBSgpAAAKEwQCbyUAAApvJgAACnJhAABwbycA +AApvKAAACm8VAAAKCwJvJQAACm8mAAAKcoEAAHBvJwAACm8oAAAKKBEAAAooKgAACgpynQAAcAdy +wQAAcBIAKCsAAAooLAAACgwCbyUAAApvLQAACiDpAwAAEQQIcuUAAHAWFxMGEgZvLgAACgJvJQAA +ChZvLwAACiq0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VSZWFkZXIs +IG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9r +ZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNvdXJjZVNldAIA +AAAAAAAAAAAAAFBBRFBBRFC0AAAAAAAAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBs +AAAA5AcAACN+AABQCAAAiAkAACNTdHJpbmdzAAAAANgRAADoAAAAI1VTAMASAAAQAAAAI0dVSUQA +AADQEgAAuAMAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8AAAD6JTMAFgAAAQAAAC4AAAAKAAAADAAA +ABkAAAAEAAAAPAAAAAIAAAA2AAAADwAAAAQAAAAIAAAACQAAAAkAAAABAAAABQAAAAEAAAADAAAA +AwAAAAIAAAAAAF4JAQAAAAAACgBLASEBCgB/AWEBBgCPAYgBCgDnASEBBgBlAogBCgDnAr0CBgAd +AwwDBgBKAzUDDgCxA5wDEgAwBAcEBgBRBIgBDgCEBG4EDgCdBG4EDgDKBLIEBgD0BOEECgAzBQwF +CgBLBRMADgCABWMFBgC1BZUFBgDTBYgBBgD3BYgBCgAQBhMABgBUBjUGBgB6BmgGBgChBpAGBgC0 +BuEEEgDRBgcEFgAqBwoHFgBCBwoHBgBUB4gBBgBiB4gBBgByB4gBEgB4BwcEBgC2B4gBEgDMBwcE +BgAmCJUFBgBGCJUFBgB+CGQIBgCXCGgGBgC0CDUGBgDCCGgGBgDdCGgGBgD4CGgGBgARCWgGBgAq +CWgGBgBHCWgGAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkA +NwANAAEAAwAFAQAAcwAAAA0ABQAIAAUBAACBAAAADQAFAA8AAAAAAJwAqAANAAYAEQAAARAA2QDk +ACUACAAVAAEAAAAIAeQAKQAKABgAAgEAABMBAAAtAAoAGgAxAKoBIAAxANMBLQAxAPUBOgAxABoC +RwAhAPYCkAARAC0DnQARAFYDoQARAMkDvwARANEDwwAGBlYE2QBWgF4E3ABWgGYE3ABQIAAAAAAG +GFsBEwABAFggAAAAAAYYWwETAAEAYCAAAAAAERiWARcAAQCMIAAAAAATCJ0BGwABAKQgAAAAABMI +wwEoAAEAvCAAAAAAEwjsATUAAQDUIAAAAAATCAoCQgABAOwgAAAAAEYCUAJjAAEACCEAAAAARgJZ +AmgAAgAcIQAAAACDAGoCbAACADQhAAAAAEYCcgJxAAIASCEAAAAAEQB7AngAAgBkIQAAAAABAJkC +gAADAIAhAAAAAAYYWwETAAQAiCEAAAAAAwitAosABAC8IQAAAAAGGFsBEwAEANAhAAAAAAMYWwET +AAQA2CEAAAAAFghiA6UABAAUIgAAAAAWCHYDqgAEACgiAAAAABYIggOvAAQAMCIAAAAAERiWARcA +BQBEIgAAAAAGGFsBEwAFAEwiAAAAABYI3gPGAAUAqCIAAAAABhhbARMABQCwIgAAAAAGAEwEEwAF +AAAAAQBXAgAAAQCQAgAAAQCQAgAAAQCOAwkAWwETAGEAWwHqAHEAWwH5ABEAWwETAHkAWwETACQA +WwETACwAWwETADQAWwETADwAWwETACQArQKLACwArQKLADQArQKLADwArQKLAIEAWwETAIkAWwET +AJEAWwFIAZkAxAWTARkAUAJjABkAWQJoACkA5QWgARkAcgJxAKkAAQawARkAWwETALEAWwHAAUQA +9gKQAEwA3gOLAEwAKwY9AkwAWwETALkAWwFMAikAgwZXAjkAWwFcAkkAWwETAMkAqQZ4AskArwZ4 +AtEAWwETAFEAWwETAFEA4waCAtkANAeHAuEASweMAukA3gOSAvEAWweWAvkAagedAgEBcgJxAPEA +WweiAtkAjAeqAgkBlwewAtkApwe7AhEBWwFMAhkBWwETACEBWwG7AikBWwETADEBWwFIATkBWwFI +AUEBWwFIAUkBWwFIAVEBWwFIAVkBWwFIAWEBWwFIAWkBWwFIAXEBWwFIAQgALADgAAgAMADlACkA +gwCCAS4A2wFRAi4A0wFRAi4AqwE6Ay4AywGOAy4A4wGOAy4AkwHKAi4AmwHTAi4AowHyAi4AswFH +Ay4A6wBRAi4AgwFxAy4AuwFRAi4AwwF3A0AAKwDlAEAAEwDwAEMAEwDwAEMAGwD/AEkAgwBaAWMA +EwDwAGMAGwD/AGkAgwBNAYAAKwDlAIMAewDlAIMAcwDlAIMAGwD/AIkAgwBuAaAAKwDlAKMAwwDI +AaMAEwDwAMAAKwDlAMMAEwDwAMMA6wBRAskAEwBvAuAAKwDlAOkAEwBvAgABEwDwAAABKwDlAAkB +GwHlACABEwDwACABKwDlACMBiwHlACMBgwFRAkABKwDlAEABEwDwAGABKwDlAGABEwDwAIABKwDl +AKABKwDlAMABEwDwAMABKwDlAOABKwDlAAACEwDwAAACKwDlADQBOQE+AUMBmAGcAacBrAG7AbsB +QwJjAmoCfQLAAgQAAQAGAAUABwAGAAgACAAAAH8BTwAAADgCVAAAAOcBWQAAAEQCXgAAAAADmAAA +AB0DtQAAAJQDugAAAI4DywACAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMA +DwABABQADwACABcAEQB1AHUAiAAYAR8BJgEtASoCMQIEgAAAAQAAAAAAAAAAAAAAAADkAAAABAAA +AAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAKABMAAAAAAAQAAAAAAAAAAAAAAAEAiAEAAAAA +CwAAAAAAAAAAAAAA0ADoAwAAAAALAAAAAAAAAAAAAADQAOsGAAAAAAAAAAABAAAA7gcAAAUABAAG +AAQACgAJAAAAEAAMAI4CAAAQABkAjgIAAAAAGwCOAi0AtgEtADgCAAAAAAA8TW9kdWxlPgBtc2Nv +cmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTVF85ZjMyMjQ5YzlhYTc0 +NzI5YTI3YWI2NWIxYWQ2MDExZi5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2Vz +AFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNUXzlmMzIyNDljOWFhNzQ3 +MjlhMjdhYjY1YjFhZDYwMTFmLk15LlJlc291cmNlcwBNeVNldHRpbmdzAFNUXzlmMzIyNDljOWFh +NzQ3MjlhMjdhYjY1YjFhZDYwMTFmAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQu +VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj +cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA +Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B +cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X +ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT +ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl +X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu +Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl +YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2Vy +AF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0 +X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5 +c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5j +T2JqZWN0AGdldF9WYWx1ZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0 +LlNxbFNlcnZlci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJh +c2UATWFpbgBFbnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2Rl +bABFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNv +ZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MA +RGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2Vy +dmljZXMAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lz +dGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVu +dGltZS5Db21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRp +bWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBN +eUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJv +cFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkA +Z2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2Vy +Tm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQu +U3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBWYXJp +YWJsZXMAZ2V0X1ZhcmlhYmxlcwBWYXJpYWJsZQBnZXRfSXRlbQBTdHJpbmcAQ29uY2F0AENvbnZl +cnQAVG9JbnQzMgBJbnQzMgBFdmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVudHMARmlyZUluZm9y +bWF0aW9uAHNldF9UYXNrUmVzdWx0AENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0VGFz +a0VudHJ5UG9pbnRBdHRyaWJ1dGUAU1RfOWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYu +UmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRp +bWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0 +RnJhbWV3b3JrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJp +YnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0 +ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2Vt +Ymx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTVF85ZjMyMjQ5 +YzlhYTc0NzI5YTI3YWI2NWIxYWQ2MDExZi5kbGwAAAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBz +AC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAXUABhAGMAawBhAGcAZQBOAGEAbQBlAAARVABhAHMA +awBOAGEAbQBlAAADLgAAH0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlAAAbQQBwAHAASQBu +AHMAdABhAG4AYwBlAEkARAAAI0EAcABwAGwAaQBjAGEAdABpAG8AbgBOAGEAbQBlADoAIAAAIw0A +CgBBAHAAcABJAG4AcwB0AGEAbgBjAGUASQBEADoAIAAAAQAAeYBf4VZzh0OzvkqbDBbvRgAIt3pc +Vhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUS +GAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIe +AAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwADBhIdAwYSIQQAABIdBAAAEiEF +AAEBEiEECAASHQQIABIhAwYSIAIGHAQAABIgBAgAEiAIiYRdzYCAzJECBggDBhEoBAAAAAAEAQAA +AAUgAQERNQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAGFRIYARIMBhUS +GAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQEIAEBDgwBAAdNeS5Vc2VyAAAT +AQAOTXkuQXBwbGljYXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAE +AAEcHAMHAQIDBwEIBgABEhURUQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRT +eXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0 +ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUg +AQETAAgHAxMAEwATAAQgAQECBQEAAAAABCAAEmEGIAIBDhJhBgcCEh0SHQQHARIhCAEAAgAAAAAA +BAABARwEBwESIAQgABJtBCAAEnEFIAESdRwDIAAcBgADDg4ODgQAAQgcBwAEDg4ODg4FIAASgIUK +IAYBCA4ODggQAgQgAQEICQcHCA4ODg4OAggBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlv +blRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3Bs +YXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGFiNjA4OWQ1LTc0YmQtNDJi +Ny05ZTQwLTU1ZTYxMzMwN2UyZAAABQEAAQAAFgEAEUNvcHlyaWdodCBAICAyMDEyAAAoAQAjU1Rf +OWYzMjI0OWM5YWE3NDcyOWEyN2FiNjViMWFkNjAxMWYAAAAEOwAAAAAAAAAAAAAeOwAAACAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAEDsAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAA +AAAA/yUAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB +ABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAA +WEAAAIADAAAAAAAAAAAAAIADNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9 +BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEA +VgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAA +AAAAsATgAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAC8AgAAAQAwADAAMAAwADAA +NABiADAAAABwACQAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAcAAo +AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAFQAXwA5AGYAMwAyADIANAA5AGMAOQBhAGEA +NwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAAMQAxAGYALgBkAGwAbAAAAEgAEgAB +AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgACAA +MgAwADEAMgAAAHgAKAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAFQAXwA5 +AGYAMwAyADIANAA5AGMAOQBhAGEANwA0ADcAMgA5AGEAMgA3AGEAYgA2ADUAYgAxAGEAZAA2ADAA +MQAxAGYALgBkAGwAbAAAAGgAJAABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBUAF8AOQBm +ADMAMgAyADQAOQBjADkAYQBhADcANAA3ADIAOQBhADIANwBhAGIANgA1AGIAMQBhAGQANgAwADEA +MQBmAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAA +ADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAMAAAAMDsAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Project.params b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Project.params new file mode 100644 index 0000000..5c66015 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/Project.params @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/SSISConfig2012.dtproj b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/SSISConfig2012.dtproj new file mode 100644 index 0000000..5b8c23f --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/SSISConfig2012/obj/Development/SSISConfig2012.dtproj @@ -0,0 +1,401 @@ + + + Project + 11.0.2100.60 + 9.0.1.0 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + SSISConfig2012.database + SSISConfig2012.database + + + + + + + + {746bc314-6191-4517-b9ca-d26af20a1d1b} + SSISConfig2012 + 1 + 0 + 0 + + + 2012-05-04T22:41:55.2643071-04:00 + vmSQL2012E\A. Ray Leonard + VMSQL2012E + + + AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAbktffIHTdke86Vlq3tUs0wAAAAACAAAAAAAQZgAAAAEAACAAAADtPFnULHQHTt0WzKTfV/8R4ig/A2GTLuBFr7F6Q5h+mwAAAAAOgAAAAAIAACAAAABDHU+LaGfv+3/Cp1fgx/FeYaUDwGWNvupkqeSpTmWsQ5AAAAA/bdyXT5pkAvDqvJxcVHg1v9OmK2VJAefyYsf+aw1L74IWi6PzWQ0HBfjJJC60ptHrmdgophI15QdyVwR/RKDmsvihSNUvWrOM2oz14lLa+t0QftewUcrZMnOTPYIYVu+iPfI4Q3kc/M9rfb2Sk+dRV/CQJQe9ODnQ7SNU7kA3XqbIRATffEzVgNYfkW/5HlRAAAAAivyeSiGL3hDsNQ1SzHLs55pikt3wqzrq1cxok0q0fiazHJNySvJIFcsS5LWEgFHNTkzVmx/gw46fxW3fcZuJhA== + 1 + + + + + + + + + + + + + + {37F14B2F-09C6-42B6-94B4-B2379298B2BF} + ErrorTest + 1 + 0 + 2 + + + {12FD4DA4-1C3D-4D40-8FC2-437000F45579} + 6 + + + 1 + + + + + + {BFE34FBB-B528-49B3-8675-20E0825CD65E} + Child2 + 1 + 0 + 3 + + + {5621475D-01A3-4512-9468-D6ACAE8B5C0E} + 6 + + + 1 + + + + + + {73EC369F-5177-463B-873F-017FFADB9409} + Parent + 1 + 0 + 26 + + + {F712D0E7-B845-4C97-A028-E39CD4EC88F8} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=vmSQL2012E;Initial Catalog=SSISConfig;Integrated Security=True;Application Name=SSIS.Parent.SSISConfig.ADO.Net; + 18 + + + + + + + + + + + 0 + 0 + 0 + SSISConfig + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + vmSQL2012E + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + {7CA63AF3-E92E-43D3-8DB6-A901DFF6014F} + Child1 + 1 + 0 + 6 + + + {EFD1AE79-2794-4C88-9D73-C845E55BB75F} + 6 + + + 1 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=TestDB;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + TestDB + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + 0 + 0 + 0 + Data Source=(local);Initial Catalog=WeatherData;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False; + 18 + + + + + + + + + + + 0 + 0 + 0 + WeatherData + 18 + + + + + + + + + + + 0 + 0 + 1 + 18 + + + + + + + + + + + 0 + 0 + 0 + false + 3 + + + + + + + + + + + 0 + 0 + 0 + (local) + 18 + + + + + + + + + + + 0 + 0 + 0 + 18 + + + + + + + + + + + + + Development + + bin + + + + + + + LastModifiedTime + LastModifiedTime + 2012-05-05T02:42:00.6580843Z + + + + + + \ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Add An SSIS Application.sql b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Add An SSIS Application.sql new file mode 100644 index 0000000..da5bfb4 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Add An SSIS Application.sql @@ -0,0 +1,261 @@ +Use SSISConfig +go + +/* Variable Declaration */ +declare @PackageFolder varchar(255) = 'F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\' +declare @PackageName varchar(255) = 'Child1.dtsx' +declare @PackageID int +declare @ExecutionOrder int = 10 + + + declare @ApplicationName varchar(255) = 'SSISApp1' + declare @ApplicationID int + +/* Add the SSIS First Application */ +If Not Exists(Select ApplicationName + From cfg.Applications + Where ApplicationName = @ApplicationName) + begin + print 'Adding ' + @ApplicationName + exec cfg.AddSSISApplication @ApplicationName, @ApplicationID output + print @ApplicationName + ' added.' + end +Else + begin + Select @ApplicationID = ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName + print @ApplicationName + ' already exists in the Framework.' + end +print '' + +/* Add the Child1.dtsx SSIS Package*/ +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + + If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + + +/*Child2.dtsx */ +set @PackageName = 'Child2.dtsx' +set @ExecutionOrder = 20 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + +/*ErrorTest.dtsx */ +set @PackageName = 'ErrorTest.dtsx' +set @ExecutionOrder = 30 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + +/* Test */ + -- exec cfg.GetSSISApplication 'SSISApp1' + +set @ApplicationName = 'Test Application' +/* Add the SSIS Second Application */ +If Not Exists(Select ApplicationName + From cfg.Applications + Where ApplicationName = @ApplicationName) + begin + print 'Adding ' + @ApplicationName + exec cfg.AddSSISApplication @ApplicationName, @ApplicationID output + print @ApplicationName + ' added.' + end +Else + begin + Select @ApplicationID = ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName + print @ApplicationName + ' already exists in the Framework.' + end +print '' + +/* Add the Second SSIS Packages */ +/*Package1.dtsx */ +set @PackageName = 'Package1.dtsx' +set @ExecutionOrder = 10 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + print 'Adding ' + @PackageFolder + @PackageName + ' to ' + @ApplicationName + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + +/*Package2.dtsx */ +set @PackageName = 'Package2.dtsx' +set @ExecutionOrder = 20 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + print 'Adding ' + @PackageFolder + @PackageName + ' to ' + @ApplicationName + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + +/*ErrorTest.dtsx */ +set @PackageName = 'ErrorTest.dtsx' +set @ExecutionOrder = 30 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + print 'Adding ' + @PackageFolder + @PackageName + ' to ' + @ApplicationName + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + +/* Test */ + -- exec cfg.GetSSISApplication 'Test Application' diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/BookCodeWalkThrough.sql b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/BookCodeWalkThrough.sql new file mode 100644 index 0000000..e961e80 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/BookCodeWalkThrough.sql @@ -0,0 +1,731 @@ +Use master +go + +/* SSISConfig database */ +If Not Exists(Select name + From sys.databases + Where name = 'SSISConfig') + begin + print 'Creating SSISConfig database' + Create Database SSISConfig + print 'SSISConfig database created' + end +Else + print 'SSISConfig database already exists.' +print '' +go + +Use SSISConfig +go + +/* cfg schema */ +If Not Exists(Select name + From sys.schemas + Where name = 'cfg') + begin + print 'Creating cfg schema' + declare @sql varchar(100) = 'Create Schema cfg' + exec(@sql) + print 'Cfg schema created' + end +Else + print 'Cfg schema already exists.' +print '' + +/* cfg.Packages table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'Packages') + begin + print 'Creating cfg.Packages table' + Create Table cfg.Packages + ( + PackageID int identity(1,1) + Constraint PK_Packages + Primary Key Clustered + ,PackageFolder varchar(255) Not Null + ,PackageName varchar(255) Not Null + ) + print 'Cfg.Packages created' + end +Else + print 'Cfg.Packages table already exists.' +print '' + +/* cfg.AddSSISPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISPackage') + begin + print 'Dropping cfg.AddSSISPackage stored procedure' + Drop Procedure cfg.AddSSISPackage + print 'Cfg.AddSSISPackage stored procedure dropped' + end +print 'Creating cfg.AddSSISPackage stored procedure' +print '' +go + +Create Procedure cfg.AddSSISPackage + @PackageName varchar(255) + ,@PackageFolder varchar(255) + ,@PkgID int output +As + + Set NoCount On + + declare @tbl table (PkgID int) + + If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + Insert Into cfg.Packages + (PackageName + ,PackageFolder) + Output inserted.PackageID Into @tbl + Values (@PackageName, @PackageFolder) + end + Else + insert into @tbl + (PkgID) + (Select PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + + Select @PkgID = PkgID From @tbl +go +print 'Cfg.AddSSISPackage stored procedure created.' +print '' + +/* Variable Declaration */ +declare @PackageFolder varchar(255) = 'F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\' +declare @PackageName varchar(255) = 'Child1.dtsx' +declare @PackageID int + +/* Add the Child1.dtsx SSIS Package*/ +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +set @PackageName = 'Child2.dtsx' +/* Add the Child2.dtsx SSIS Package*/ +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + End + +/* cfg.Applications table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'Applications') + begin + print 'Creating cfg.Applications table' + Create Table cfg.Applications + ( + ApplicationID int identity(1,1) + Constraint PK_Applications + Primary Key Clustered + ,ApplicationName varchar(255) Not Null + Constraint U_Applications_ApplicationName + Unique + ) + print 'Cfg.Applications created' + end +Else + print 'Cfg.Applications table already exists.' +print '' + +/* cfg.AddSSISApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISApplication') + begin + print 'Dropping cfg.AddSSISApplication stored procedure' + Drop Procedure cfg.AddSSISApplication + print 'Cfg.AddSSISApplication stored procedure dropped' + end +print 'Creating cfg.AddSSISApplication stored procedure' +print '' +go + +Create Procedure cfg.AddSSISApplication + @ApplicationName varchar(255) + ,@AppID int output +As + + Set NoCount On + + declare @tbl table (AppID int) + + If Not Exists(Select ApplicationName + From cfg.Applications + Where ApplicationName = @ApplicationName) + begin + Insert Into cfg.Applications + (ApplicationName) + Output inserted.ApplicationID into @tbl + Values (@ApplicationName) + end + Else + insert into @tbl + (AppID) + (Select ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName) + + Select @AppID = AppID from @tbl +go +print 'Cfg.AddSSISApplication stored procedure created.' +print '' + + +/* cfg.AppPackages table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'AppPackages') + begin + print 'Creating cfg.AppPackages table' + Create Table cfg.AppPackages + ( + AppPackageID int identity(1,1) + Constraint PK_AppPackages + Primary Key Clustered + ,ApplicationID int Not Null + Constraint FK_cfgAppPackages_cfgApplications_ApplicationID + Foreign Key References cfg.Applications(ApplicationID) + ,PackageID int Not Null + Constraint FK_cfgAppPackages_cfgPackages_PackageID + Foreign Key References cfg.Packages(PackageID) + ,ExecutionOrder int Null + ) + print 'Cfg.AppPackages created' + end +Else + print 'Cfg.AppPackages table already exists.' +print '' + +/* cfg.AddSSISApplicationPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISApplicationPackage') + begin + print 'Dropping cfg.AddSSISApplicationPackage stored procedure' + Drop Procedure cfg.AddSSISApplicationPackage + print 'Cfg.AddSSISApplicationPackage stored procedure dropped' + end +print 'Creating cfg.AddSSISApplicationPackage stored procedure' +go + + +Create Procedure cfg.AddSSISApplicationPackage + @ApplicationID int + ,@PackageID int + ,@ExecutionOrder int = 10 +As + + Set NoCount On + + If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID) + begin + Insert Into cfg.AppPackages + (ApplicationID + ,PackageID + ,ExecutionOrder) + Values (@ApplicationID, @PackageID, @ExecutionOrder) + end +go +print 'Cfg.AddSSISApplicationPackage stored procedure created.' +print '' + +/* cfg.GetSSISApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'GetSSISApplication') + begin + print 'Dropping cfg.GetSSISApplication stored procedure' + Drop Procedure cfg.GetSSISApplication + print 'Cfg.GetSSISApplication stored procedure dropped' + end +print 'Creating cfg.GetSSISApplication stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure cfg.GetSSISApplication + @ApplicationName varchar(255) +As + +Select p.PackageFolder + p.PackageName As PackagePath + , ap.ExecutionOrder + , p.PackageName + , p.PackageFolder + , ap.AppPackageID +From cfg.AppPackages ap +Inner Join cfg.Packages p on p.PackageID = ap.PackageID +Inner Join cfg.Applications a on a.ApplicationID = ap.ApplicationID +Where ApplicationName = @ApplicationName +Order By ap.ExecutionOrder +go +print 'Cfg.GetSSISApplication stored procedure created.' +print '' + +/* log schema */ +If Not Exists(Select name + From sys.schemas + Where name = 'log') + begin + print 'Creating log schema' + declare @sql varchar(100) = 'Create Schema [log]' + exec(@sql) + print 'Log schema created' + end +Else + print 'Log schema already exists.' +print '' + + +/* log.SSISAppInstance table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISAppInstance') + begin + print 'Creating log.SSISAppInstance table' + Create Table [log].SSISAppInstance + ( + AppInstanceID int identity(1,1) + Constraint PK_SSISAppInstance + Primary Key Clustered + ,ApplicationID int Not Null + Constraint FK_logSSISAppInstance_cfgApplication_ApplicationID + Foreign Key References cfg.Applications(ApplicationID) + ,StartDateTime datetime Not Null + Constraint DF_cfgSSISAppInstance_StartDateTime + Default(GetDate()) + ,EndDateTime datetime Null + ,[Status] varchar(12) Null + ) + print 'Log.SSISAppInstance created' + end +Else + print 'Log.SSISAppInstance table already exists.' +print '' + +/* log.LogStartOfApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogStartOfApplication') + begin + print 'Dropping log.LogStartOfApplication stored procedure' + Drop Procedure [log].LogStartOfApplication + print 'Log.LogStartOfApplication stored procedure dropped' + end +print 'Creating log.LogStartOfApplication stored procedure' +go + +Create Procedure [log].LogStartOfApplication + @ApplicationName varchar(255) +As + +declare @ErrMsg varchar(255) +declare @AppID int = (Select ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName) + +If (@AppID Is Null) + begin + set @ErrMsg = 'Cannot find ApplicationName ' + Coalesce(@ApplicationName, '') + raiserror(@ErrMsg,16,1) + return-1 + end + +Insert Into [log].SSISAppInstance + (ApplicationID, StartDateTime, Status) + Output inserted.AppInstanceID + Values + (@AppID, GetDate(), 'Running') +go +print 'Log.LogStartOfApplication stored procedure created.' +print '' + + + +/* log.LogApplicationSuccess stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogApplicationSuccess') + begin + print 'Dropping log.LogApplicationSuccess stored procedure' + Drop Procedure [log].LogApplicationSuccess + print 'Log.LogApplicationSuccess stored procedure dropped' + end +print 'Creating log.LogApplicationSuccess stored procedure' +go + +Create Procedure [log].LogApplicationSuccess + @AppInstanceID int +As + + update log.SSISAppInstance + set EndDateTime = GetDate() + , Status = 'Success' + where AppInstanceID = @AppInstanceID +go +print 'Log.LogApplicationSuccess stored procedure created.' +print '' + + +/* log.LogApplicationFailure stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogApplicationFailure') + begin + print 'Dropping log.LogApplicationFailure stored procedure' + Drop Procedure [log].LogApplicationFailure + print 'Log.LogApplicationFailure stored procedure dropped' + end +print 'Creating log.LogApplicationFailure stored procedure' +go + +Create Procedure [log].LogApplicationFailure + @AppInstanceID int +As + + update log.SSISAppInstance + set EndDateTime = GetDate() + , Status = 'Failed' + where AppInstanceID = @AppInstanceID +go +print 'Log.LogApplicationFailure stored procedure created.' + + +/* log.SSISPkgInstance table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISPkgInstance') + begin + print 'Creating log.SSISPkgInstance table' + Create Table [log].SSISPkgInstance + ( + PkgInstanceID int identity(1,1) + Constraint PK_SSISPkgInstance Primary Key Clustered + ,AppInstanceID int Not Null + Constraint FK_logSSISPkgInstance_logSSISAppInstance_AppInstanceID + Foreign Key References [log].SSISAppInstance(AppInstanceID) + ,AppPackageID int Not Null + Constraint FK_logSSISPkgInstance_cfgAppPackages_AppPackageID + Foreign Key References cfg.AppPackages(AppPackageID) + ,StartDateTime datetime Not Null + Constraint DF_cfgSSISPkgInstance_StartDateTime + Default(GetDate()) + ,EndDateTime datetime Null + ,[Status] varchar(12) Null + ) + print 'Log.SSISPkgInstance created' + end +Else + print 'Log.SSISPkgInstance table already exists.' +print '' + +/* log.LogStartOfPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogStartOfPackage') + begin + print 'Dropping log.LogStartOfPackage stored procedure' + Drop Procedure [log].LogStartOfPackage + print 'Log.LogStartOfPackage stored procedure dropped' + end +print 'Creating log.LogStartOfPackage stored procedure' +go + +Create Procedure [log].LogStartOfPackage + @AppInstanceID int +,@AppPackageID int +As + +declare @ErrMsg varchar(255) + +Insert Into log.SSISPkgInstance + (AppInstanceID, AppPackageID, StartDateTime, Status) + Output inserted.PkgInstanceID + Values + (@AppInstanceID, @AppPackageID, GetDate(), 'Running') +go +print 'Log.SSISPkgInstance stored procedure created.' +print '' + +/* log.LogPackageSuccess stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogPackageSuccess') + begin + print 'Dropping log.LogPackageSuccess stored procedure' + Drop Procedure [log].LogPackageSuccess + print 'Log.LogPackageSuccess stored procedure dropped' + end +print 'Creating log.LogPackageSuccess stored procedure' +go + +Create Procedure [log].LogPackageSuccess + @PkgInstanceID int +As + + update log.SSISPkgInstance + set EndDateTime = GetDate() + , Status = 'Success' + where PkgInstanceID = @PkgInstanceID +go +print 'Log.LogPackageSuccess stored procedure created.' +print '' + + +/* log.LogPackageFailure stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogPackageFailure') + begin + print 'Dropping log.LogPackageFailure stored procedure' + Drop Procedure [log].LogPackageFailure + print 'Log.LogPackageFailure stored procedure dropped' + end +print 'Creating log.LogPackageFailure stored procedure' +go + +Create Procedure [log].LogPackageFailure + @PkgInstanceID int +As + + update log.SSISPkgInstance + set EndDateTime = GetDate() + , Status = 'Failed' + where PkgInstanceID = @PkgInstanceID +go +print 'Log.LogPackageFailure stored procedure created.' +print '' +print '' + + + + + +GO + + + + + +Use SSISConfig +go + +/* Variable Declaration */ +declare @PackageFolder varchar(255) = 'F:\SSIS 2012 Design Patterns\SSISConfig2012\SSISConfig2012\' +declare @PackageName varchar(255) = 'Child1.dtsx' +declare @PackageID int +declare @ExecutionOrder int = 10 + + + declare @ApplicationName varchar(255) = 'SSISApp1' + declare @ApplicationID int + +/* Add the SSIS First Application */ +If Not Exists(Select ApplicationName + From cfg.Applications + Where ApplicationName = @ApplicationName) + begin + print 'Adding ' + @ApplicationName + exec cfg.AddSSISApplication @ApplicationName, @ApplicationID output + print @ApplicationName + ' added.' + end +Else + begin + Select @ApplicationID = ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName + print @ApplicationName + ' already exists in the Framework.' + end +print '' + +/* Add the Child1.dtsx SSIS Package*/ +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + + If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + + +/*Child2.dtsx */ +set @PackageName = 'Child2.dtsx' +set @ExecutionOrder = 20 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) +print '' + +/*ErrorTest.dtsx */ +set @PackageName = 'ErrorTest.dtsx' +set @ExecutionOrder = 30 + +If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + print 'Adding ' + @PackageFolder + @PackageName + exec cfg.AddSSISPackage @PackageName, @PackageFolder, @PackageID output + end +Else + begin + Select @PackageID = PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName + print @PackageFolder + @PackageName + ' already exists in the Framework.' + end + +If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID + And ExecutionOrder = @ExecutionOrder) + begin + print 'Adding ' + @ApplicationName + '.' + @PackageName + ' to Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + exec cfg.AddSSISApplicationPackage @ApplicationID, @PackageID, @ExecutionOrder + print @PackageName + ' added and wired to ' + @ApplicationName + end +Else + print @ApplicationName + '.' + @PackageName + ' already exists in the Framework with ExecutionOrder ' + convert(varchar, @ExecutionOrder) + + + + + + + +exec cfg.GetSSISApplication 'SSISApp1' diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Create SSISConfig.sql b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Create SSISConfig.sql new file mode 100644 index 0000000..a0c5f17 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfig2012/sql/Create SSISConfig.sql @@ -0,0 +1,808 @@ +/* + (c) 2011,2012 Linchpin People, LLC + + Author: Andy Leonard + Contact: mailto:andy.leonard@linchpinpeople.com + + License: + SSISConfig is free to download and use for personal, educational, and internal + corporate purposes, provided that this header is preserved. Redistribution or sale + of SSISConfig, in whole or in part, is prohibited without the author's express + written consent. + +*/ + + +Use master +go + +/* SSISConfig database */ +If Not Exists(Select name + From sys.databases + Where name = 'SSISConfig') + begin + print 'Creating SSISConfig database' + Create Database SSISConfig + print 'SSISConfig database created' + end +Else + print 'SSISConfig database already exists.' +print '' +go + +Use SSISConfig +go + + +/* cfg schema */ +If Not Exists(Select name + From sys.schemas + Where name = 'cfg') + begin + print 'Creating cfg schema' + declare @sql varchar(100) = 'Create Schema cfg' + exec(@sql) + print 'Cfg schema created' + end +Else + print 'Cfg schema already exists.' +print '' + + + +/* cfg.Packages table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'Packages') + begin + print 'Creating cfg.Packages table' + Create Table cfg.Packages + ( + PackageID int identity(1,1) + Constraint PK_Packages + Primary Key Clustered + ,PackageFolder varchar(255) Not Null + ,PackageName varchar(255) Not Null + ) + print 'Cfg.Packages created' + end +Else + print 'Cfg.Packages table already exists.' +print '' + + + +/* cfg.Applications table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'Applications') + begin + print 'Creating cfg.Applications table' + Create Table cfg.Applications + ( + ApplicationID int identity(1,1) + Constraint PK_Applications + Primary Key Clustered + ,ApplicationName varchar(255) Not Null + Constraint U_Applications_ApplicationName + Unique + ) + print 'Cfg.Applications created' + end +Else + print 'Cfg.Applications table already exists.' +print '' + + +/* cfg.AppPackages table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'cfg' + And t.name = 'AppPackages') + begin + print 'Creating cfg.AppPackages table' + Create Table cfg.AppPackages + ( + AppPackageID int identity(1,1) + Constraint PK_AppPackages + Primary Key Clustered + ,ApplicationID int Not Null + Constraint FK_cfgAppPackages_cfgApplications_ApplicationID + Foreign Key References cfg.Applications(ApplicationID) + ,PackageID int Not Null + Constraint FK_cfgAppPackages_cfgPackages_PackageID + Foreign Key References cfg.Packages(PackageID) + ,ExecutionOrder int Null + ) + print 'Cfg.AppPackages created' + end +Else + print 'Cfg.AppPackages table already exists.' +print '' + + +/* cfg.AddSSISApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISApplication') + begin + print 'Dropping cfg.AddSSISApplication stored procedure' + Drop Procedure cfg.AddSSISApplication + print 'Cfg.AddSSISApplication stored procedure dropped' + end +print 'Creating cfg.AddSSISApplication stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure cfg.AddSSISApplication + @ApplicationName varchar(255) + ,@AppID int output +As + + Set NoCount On + + declare @tbl table (AppID int) + + If Not Exists(Select ApplicationName + From cfg.Applications + Where ApplicationName = @ApplicationName) + begin + Insert Into cfg.Applications + (ApplicationName) + Output inserted.ApplicationID into @tbl + Values (@ApplicationName) + end + Else + insert into @tbl + (AppID) + (Select ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName) + + Select @AppID = AppID from @tbl +go +print 'Cfg.AddSSISApplication stored procedure created.' +print '' + + +/* cfg.AddSSISPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISPackage') + begin + print 'Dropping cfg.AddSSISPackage stored procedure' + Drop Procedure cfg.AddSSISPackage + print 'Cfg.AddSSISPackage stored procedure dropped' + end +print 'Creating cfg.AddSSISPackage stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure cfg.AddSSISPackage + @PackageName varchar(255) + ,@PackageFolder varchar(255) + ,@PkgID int output +As + + Set NoCount On + + declare @tbl table (PkgID int) + + If Not Exists(Select PackageFolder + PackageName + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + begin + Insert Into cfg.Packages + (PackageName + ,PackageFolder) + Output inserted.PackageID Into @tbl + Values (@PackageName, @PackageFolder) + end + Else + insert into @tbl + (PkgID) + (Select PackageID + From cfg.Packages + Where PackageFolder = @PackageFolder + And PackageName = @PackageName) + + Select @PkgID = PkgID From @tbl +go +print 'Cfg.AddSSISPackage stored procedure created.' +print '' + + +/* cfg.AddSSISApplicationPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'AddSSISApplicationPackage') + begin + print 'Dropping cfg.AddSSISApplicationPackage stored procedure' + Drop Procedure cfg.AddSSISApplicationPackage + print 'Cfg.AddSSISApplicationPackage stored procedure dropped' + end +print 'Creating cfg.AddSSISApplicationPackage stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure cfg.AddSSISApplicationPackage + @ApplicationID int + ,@PackageID int + ,@ExecutionOrder int = 10 +As + + Set NoCount On + + If Not Exists(Select AppPackageID + From cfg.AppPackages + Where ApplicationID = @ApplicationID + And PackageID = @PackageID) + begin + Insert Into cfg.AppPackages + (ApplicationID + ,PackageID + ,ExecutionOrder) + Values (@ApplicationID, @PackageID, @ExecutionOrder) + end +go +print 'Cfg.AddSSISApplicationPackage stored procedure created.' +print '' + + +/* cfg.GetSSISApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'cfg' + And p.name = 'GetSSISApplication') + begin + print 'Dropping cfg.GetSSISApplication stored procedure' + Drop Procedure cfg.GetSSISApplication + print 'Cfg.GetSSISApplication stored procedure dropped' + end +print 'Creating cfg.GetSSISApplication stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure cfg.GetSSISApplication + @ApplicationName varchar(255) +As + +Select p.PackageFolder + p.PackageName As PackagePath + , ap.ExecutionOrder + , p.PackageName + , p.PackageFolder + , ap.AppPackageID +From cfg.AppPackages ap +Inner Join cfg.Packages p on p.PackageID = ap.PackageID +Inner Join cfg.Applications a on a.ApplicationID = ap.ApplicationID +Where ApplicationName = @ApplicationName +Order By ap.ExecutionOrder +go +print 'Cfg.GetSSISApplication stored procedure created.' +print '' + + + +/* log schema */ +If Not Exists(Select name + From sys.schemas + Where name = 'log') + begin + print 'Creating log schema' + declare @sql varchar(100) = 'Create Schema [log]' + exec(@sql) + print 'Log schema created' + end +Else + print 'Log schema already exists.' +print '' + + +/* log.SSISAppInstance table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISAppInstance') + begin + print 'Creating log.SSISAppInstance table' + Create Table [log].SSISAppInstance + ( + AppInstanceID int identity(1,1) + Constraint PK_SSISAppInstance + Primary Key Clustered + ,ApplicationID int Not Null + Constraint FK_logSSISAppInstance_cfgApplication_ApplicationID + Foreign Key References cfg.Applications(ApplicationID) + ,StartDateTime datetime Not Null + Constraint DF_cfgSSISAppInstance_StartDateTime + Default(GetDate()) + ,EndDateTime datetime Null + ,[Status] varchar(12) Null + ) + print 'Log.SSISAppInstance created' + end +Else + print 'Log.SSISAppInstance table already exists.' +print '' + + +/* log.SSISPkgInstance table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISPkgInstance') + begin + print 'Creating log.SSISPkgInstance table' + Create Table [log].SSISPkgInstance + ( + PkgInstanceID int identity(1,1) + Constraint PK_SSISPkgInstance Primary Key Clustered + ,AppInstanceID int Not Null + Constraint FK_logSSISPkgInstance_logSSISAppInstance_AppInstanceID + Foreign Key References [log].SSISAppInstance(AppInstanceID) + ,AppPackageID int Not Null + Constraint FK_logSSISPkgInstance_cfgAppPackages_AppPackageID + Foreign Key References cfg.Packages(PackageID) + ,StartDateTime datetime Not Null + Constraint DF_cfgSSISPkgInstance_StartDateTime + Default(GetDate()) + ,EndDateTime datetime Null + ,[Status] varchar(12) Null + ) + print 'Log.SSISPkgInstance created' + end +Else + print 'Log.SSISPkgInstance table already exists.' +print '' + + +/* log.SSISErrors table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISErrors') + begin + print 'Creating log.SSISErrors table' + Create Table [log].SSISErrors + ( + ID int identity(1,1) + Constraint PK_SSISErrors Primary Key Clustered + ,AppInstanceID int Not Null + Constraint FK_logSSISErrors_logSSISAppInstance_AppInstanceID + Foreign Key References [log].SSISAppInstance(AppInstanceID) + ,PkgInstanceID int Not Null + Constraint FK_logSSISErrors_logPkgInstance_PkgInstanceID + Foreign Key References [log].SSISPkgInstance(PkgInstanceID) + ,ErrorDateTime datetime Not Null + Constraint DF_logSSISErrors_ErrorDateTime + Default(GetDate()) + ,ErrorDescription varchar(max) Null + ,SourceName varchar(255) Null + ) + print 'Log.SSISErrors created' + end +Else + print 'Log.SSISErrors table already exists.' +print '' + + +/* log.SSISEvents table */ +If Not Exists(Select s.name + '.' + t.name + From sys.tables t + Join sys.schemas s + On s.schema_id = t.schema_id + Where s.name = 'log' + And t.name = 'SSISEvents') + begin + print 'Creating log.SSISEvents table' + Create Table [log].SSISEvents + ( + ID int identity(1,1) + Constraint PK_SSISEvents Primary Key Clustered + ,AppInstanceID int Not Null + Constraint FK_logSSISEvents_logSSISAppInstance_AppInstanceID + Foreign Key References [log].SSISAppInstance(AppInstanceID) + ,PkgInstanceID int Not Null + Constraint FK_logSSISEvents_logPkgInstance_PkgInstanceID + Foreign Key References [log].SSISPkgInstance(PkgInstanceID) + ,EventDateTime datetime Not Null + Constraint DF_logSSISEvents_ErrorDateTime + Default(GetDate()) + ,EventDescription varchar(max) Null + ,SourceName varchar(255) Null + ) + print 'Log.SSISEvents created' + end +Else + print 'Log.SSISEvents table already exists.' +print '' + + + +/* log.LogStartOfApplication stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogStartOfApplication') + begin + print 'Dropping log.LogStartOfApplication stored procedure' + Drop Procedure [log].LogStartOfApplication + print 'Log.LogStartOfApplication stored procedure dropped' + end +print 'Creating log.LogStartOfApplication stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogStartOfApplication + @ApplicationName varchar(255) +As + +declare @ErrMsg varchar(255) +declare @AppID int = (Select ApplicationID + From cfg.Applications + Where ApplicationName = @ApplicationName) + +If (@AppID Is Null) + begin + set @ErrMsg = 'Cannot find ApplicationName ' + Coalesce(@ApplicationName, '') + raiserror(@ErrMsg,16,1) + return-1 + end + +Insert Into [log].SSISAppInstance + (ApplicationID, StartDateTime, Status) + Output inserted.AppInstanceID + Values + (@AppID, GetDate(), 'Running') +go +print 'Log.LogStartOfApplication stored procedure created.' +print '' + + + +/* log.LogApplicationSuccess stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogApplicationSuccess') + begin + print 'Dropping log.LogApplicationSuccess stored procedure' + Drop Procedure [log].LogApplicationSuccess + print 'Log.LogApplicationSuccess stored procedure dropped' + end +print 'Creating log.LogApplicationSuccess stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogApplicationSuccess + @AppInstanceID int +As + + update log.SSISAppInstance + set EndDateTime = GetDate() + , Status = 'Success' + where AppInstanceID = @AppInstanceID +go +print 'Log.LogApplicationSuccess stored procedure created.' +print '' + + +/* log.LogApplicationFailure stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogApplicationFailure') + begin + print 'Dropping log.LogApplicationFailure stored procedure' + Drop Procedure [log].LogApplicationFailure + print 'Log.LogApplicationFailure stored procedure dropped' + end +print 'Creating log.LogApplicationFailure stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogApplicationFailure + @AppInstanceID int +As + + update log.SSISAppInstance + set EndDateTime = GetDate() + , Status = 'Failed' + where AppInstanceID = @AppInstanceID +go +print 'Log.LogApplicationFailure stored procedure created.' +print '' + + +/* log.LogStartOfPackage stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogStartOfPackage') + begin + print 'Dropping log.LogStartOfPackage stored procedure' + Drop Procedure [log].LogStartOfPackage + print 'Log.LogStartOfPackage stored procedure dropped' + end +print 'Creating log.LogStartOfPackage stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogStartOfPackage + @AppInstanceID int +,@AppPackageID int +As + +declare @ErrMsg varchar(255) + +Insert Into log.SSISPkgInstance + (AppInstanceID, AppPackageID, StartDateTime, Status) + Output inserted.PkgInstanceID + Values + (@AppInstanceID, @AppPackageID, GetDate(), 'Running') +go +print 'Log.SSISPkgInstance stored procedure created.' +print '' + + +/* log.LogPackageSuccess stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogPackageSuccess') + begin + print 'Dropping log.LogPackageSuccess stored procedure' + Drop Procedure [log].LogPackageSuccess + print 'Log.LogPackageSuccess stored procedure dropped' + end +print 'Creating log.LogPackageSuccess stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogPackageSuccess + @PkgInstanceID int +As + + update log.SSISPkgInstance + set EndDateTime = GetDate() + , Status = 'Success' + where PkgInstanceID = @PkgInstanceID +go +print 'Log.LogPackageSuccess stored procedure created.' +print '' + + +/* log.LogPackageFailure stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogPackageFailure') + begin + print 'Dropping log.LogPackageFailure stored procedure' + Drop Procedure [log].LogPackageFailure + print 'Log.LogPackageFailure stored procedure dropped' + end +print 'Creating log.LogPackageFailure stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogPackageFailure + @PkgInstanceID int +As + + update log.SSISPkgInstance + set EndDateTime = GetDate() + , Status = 'Failed' + where PkgInstanceID = @PkgInstanceID +go +print 'Log.LogPackageFailure stored procedure created.' +print '' + + +/* log.LogEvent stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogEvent') + begin + print 'Dropping log.LogEvent stored procedure' + Drop Procedure [log].LogEvent + print 'Log.LogEvent stored procedure dropped' + end +print 'Creating log.LogEvent stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogEvent + @AppInstanceID int +,@PkgInstanceID int +,@SourceName varchar(255) +,@EventDescription varchar(max) +As + + insert into [log].SSISEvents + (AppInstanceID, PkgInstanceID, SourceName, EventDescription) + Values + (@AppInstanceID +,@PkgInstanceID +,@SourceName +,@EventDescription) +go +print 'Log.LogEvent stored procedure created.' +print '' + +/* log.LogError stored procedure */ +If Exists(Select s.name + '.' + p.name + From sys.procedures p + Join sys.schemas s + On s.schema_id = p.schema_id + Where s.name = 'log' + And p.name = 'LogError') + begin + print 'Dropping log.LogError stored procedure' + Drop Procedure [log].LogError + print 'Log.LogError stored procedure dropped' + end +print 'Creating log.LogError stored procedure' +go + +/* + (c) 2011,2012 Linchpin People, LLC +*/ +Create Procedure [log].LogError + @AppInstanceID int +,@PkgInstanceID int +,@SourceName varchar(255) +,@ErrorDescription varchar(max) +As + + insert into log.SSISErrors + (AppInstanceID, PkgInstanceID, SourceName, ErrorDescription) + Values + (@AppInstanceID +,@PkgInstanceID +,@SourceName +,@ErrorDescription) +go +print 'Log.LogError stored procedure created.' +print '' + +/* Add "0" rows */ +If Not Exists(Select ApplicationID + From cfg.Applications + Where ApplicationID = 0) + begin + print 'Adding 0 row for cfg.Applications' + Set Identity_Insert cfg.Applications ON + Insert Into cfg.Applications + (ApplicationID + ,ApplicationName) + Values + (0 + ,'SSIS Framework') + Set Identity_Insert cfg.Applications OFF + print '0 row for cfg.Applications added' + end +Else + print '0 row already exists for cfg.Applications' +print '' + +Set Identity_Insert cfg.Packages ON +Insert Into cfg.Packages +(PackageID +,PackageFolder +,PackageName) +Values +(0 +,'\' +,'parent.dtsx') +Set Identity_Insert cfg.Packages OFF + +Set Identity_Insert cfg.AppPackages ON +Insert Into cfg.AppPackages +(AppPackageID +,ApplicationID +,PackageID +,ExecutionOrder) +Values +(0 +,0 +,0 +,10) +Set Identity_Insert cfg.AppPackages OFF + +Set Identity_Insert [log].SSISAppInstance ON +Insert Into [log].SSISAppInstance +(AppInstanceID +,ApplicationID +,StartDateTime +,EndDateTime +,[Status]) +Values +(0 +,0 +,'1/1/1900' +,'1/1/1900' +,'Unknown') + +Set Identity_Insert [log].SSISAppInstance OFF + +Set Identity_Insert [log].SSISPkgInstance ON +Insert Into [log].SSISPkgInstance +(PkgInstanceID +,AppInstanceID +,AppPackageID +,StartDateTime +,EndDateTime +,[Status]) +Values +(0 +,0 +,0 +,'1/1/1900' +,'1/1/1900' +,'Unknown') + +Set Identity_Insert [log].SSISPkgInstance OFF diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012.sln b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012.sln new file mode 100644 index 0000000..f9a3558 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{F14B399A-7131-4C87-9E4B-1186C45EF12D}") = "SSISConfigReports2012", "SSISConfigReports2012\SSISConfigReports2012.rptproj", "{B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Default = Debug|Default + DebugLocal|Default = DebugLocal|Default + Release|Default = Release|Default + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Debug|Default.ActiveCfg = Debug + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Debug|Default.Build.0 = DebugLocal + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Debug|Default.Deploy.0 = DebugLocal + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.DebugLocal|Default.ActiveCfg = DebugLocal + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.DebugLocal|Default.Build.0 = DebugLocal + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Release|Default.ActiveCfg = Release + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Release|Default.Build.0 = Release + {B1B2C13A-0DFE-430A-AEB8-C3441411B5E5}.Release|Default.Deploy.0 = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report - Backup.rdl b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report - Backup.rdl new file mode 100644 index 0000000..40e242e --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report - Backup.rdl @@ -0,0 +1,385 @@ + + + + + 0c2b766e-25e1-4581-b91b-40d607703a73 + SSISConfig + + + 6f038639-a4a3-4547-8b27-cf006d8111c4 + 5in + + 0.79in + 0.5in + + + + textbox1 + App History Report + true + 0.36in + + + 0.36in + + textbox2 + App Instance ID + true + 0.22in + 1in + + + + + + + + textbox3 + Application Name + true + 0.22in + 1in + + + + + + + + textbox4 + Start Date Time + true + 0.22in + 1in + + + + + + + + textbox5 + Run Seconds + true + 0.22in + 1in + + + + + + + + textbox6 + Status + true + 0.22in + 1in + + + + + 0.22in + + + +
+ + + + + + + + AppInstanceID + =Fields!AppInstanceID.Value + true + 0.21in + 1in + + + + + + + + ApplicationName + =Fields!ApplicationName.Value + true + 0.21in + 1in + + + + + + + + StartDateTime + =Fields!StartDateTime.Value + true + 0.21in + 1in + + + + + + + + RunSeconds + =Fields!RunSeconds.Value + true + 0.21in + 1in + + + + + + + + Status + =Fields!Status.Value + true + 0.21in + 1in + + + + + 0.21in + + +
+ + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + DataSet1 +
+
+ + en-US + 1in + 1in + 1in + 1in + 8.5in + 11in + + + + + AppInstanceID + System.Int32 + + + ApplicationName + System.String + + + StartDateTime + System.DateTime + + + RunSeconds + System.Int32 + + + Status + System.String + + + + SSISConfig + Text + Select ap.AppInstanceID, a.ApplicationName, ap.StartDateTime, DateDiff(ss,ap.StartDateTime, ap.EndDateTime) As RunSeconds, ap.Status +From log.SSISAppInstance ap +Join cfg.Applications a + On ap.ApplicationID = a.ApplicationID +Order By ap.AppInstanceID desc + true + 0 + + + +
\ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report.rdl b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report.rdl new file mode 100644 index 0000000..f7d3cc5 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App History Report.rdl @@ -0,0 +1,517 @@ + + + + + + + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + + + 0.22in + + + + + true + true + + + + + App Instance ID + + + + + + + textbox2 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Application Name + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!AppInstanceID.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.36in + 0.43in + 5in + + + + + + + 0.79in + + textbox1 + App Instance Details + true + 0.36in + + + 0.36in + + textbox2 + App Instance ID + true + 0.22in + 1in + + + + + + + + textbox3 + Application Name + true + 0.22in + 1in + + + + + + + + textbox4 + Start Date Time + true + 0.22in + 1in + + + + + + + + textbox5 + Run Seconds + true + 0.22in + 1in + + + + + + + + textbox6 + Status + true + 0.22in + 1in + + + + + 0.22in + + + +
+ + + + + + + + AppInstanceID + =Fields!AppInstanceID.Value + true + 0.21in + 1in + + + + + + + + ApplicationName + =Fields!ApplicationName.Value + true + 0.21in + 1in + + + + + + + + StartDateTime + =Fields!StartDateTime.Value + true + 0.21in + 1in + + + + + + + + RunSeconds + =Fields!RunSeconds.Value + true + 0.21in + 1in + + + + + + + + Status + =Fields!Status.Value + true + 0.21in + 1in + + + + + 0.21in + + +
+ + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + DataSet1 +
+ + + en-US + 1in + 1in + 1in + 1in + 8.5in + 11in + + + + + AppInstanceID + System.Int32 + + + ApplicationName + System.String + + + StartDateTime + System.DateTime + + + RunSeconds + System.Int32 + + + Status + System.String + + + + SSISConfig + Text + Select + ap.AppInstanceID + ,a.ApplicationName + ,ap.StartDateTime + ,DateDiff(ss,ap.StartDateTime,ap.EndDateTime) As RunSeconds + ,ap.Status + from log.SSISAppInstance ap + Join cfg.Applications a + On ap.ApplicationID = a.ApplicationID + Where a.ApplicationName = @AppName + order by AppInstanceID desc + true + + + =Parameters!AppName.Value + + + 0 + + + + + + String + App Name + + +
\ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App Instance Details.rdl b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App Instance Details.rdl new file mode 100644 index 0000000..d7ee0c3 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/App Instance Details.rdl @@ -0,0 +1,805 @@ + + + + + + + + + 1.80208in + + + 1.84375in + + + 1.26042in + + + 1in + + + + + 0.2425in + + + + + true + true + + + + + Application Name + + + + + + + textbox3 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + =Iif(Fields!Status.Value="Failed","Error Report",Nothing) + + + =Fields!AppInstanceID.Value + + + + + + + + + + + + + Status + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + ReturnAppInstanceDetails + 4.15042in + 0.4525in + 5.90625in + + + + + + + + + + + + =Fields!StartDateTime.Value + + + + + =Fields!StartDateTime.Value + + + + + + + + + + + + + + + + + + + + =Sum(Fields!RunSeconds.Value) + + + + + + + =Parameters!AppName.Value & " Application Instances" + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Run Seconds + + + + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + Run Time by Application Instance + + + + BrightPastel + + + + + No Data Available + + + ReturnAppInstanceDetails + 0.38778in + 3.69319in + 7.59375in + 2 + + + White + None + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 4.79042in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Pkg + + + + + + + Textbox6 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox10 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox8 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Config + + + + + + + Textbox12 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + + + =Iif(Fields!Status.Value="Failed","Error Report",Nothing) + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Pkg + + + + + + + Textbox7 + + + + + Package Instance Report + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox11 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!ApplicationName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox9 + + + + + App Instance Details + + + =Fields!ApplicationName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + Config + + + + + + + Textbox13 + + + + + Application List + + + =Fields!ApplicationID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + ReturnAppInstanceHeader + 0.33in + 0.41in + 9.92708in + + + + =Parameters!ApplicationName.Value + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.93792in + + textbox1 + Application List + true + 0.36in + + + 0.36in + + textbox2 + Application Name + true + 0.22in + 1in + + + + + + + + textbox3 + Application ID + true + 0.22in + 1in + + + + + + + + textbox4 + Package ID + true + 0.22in + 1in + + + + + + + + textbox5 + Package Path + true + 0.22in + 1in + + + + + + + + textbox6 + Execution Order + true + 0.22in + 1in + + + + + + + + textbox7 + Package Name + true + 0.22in + 1in + + + + + + + + textbox8 + Package Folder + true + 0.22in + 1in + + + + + 0.22in + + + +
+ + + + + + + + ApplicationName + =Fields!ApplicationName.Value + true + 0.21in + 1in + + + + + + + + ApplicationID + =Fields!ApplicationID.Value + true + 0.21in + 1in + + + + + + + + PackageID + =Fields!PackageID.Value + true + 0.21in + 1in + + + + + + + + PackagePath + =Fields!PackagePath.Value + true + 0.21in + 1in + + + + + + + + ExecutionOrder + =Fields!ExecutionOrder.Value + true + 0.21in + 1in + + + + + + + + PackageName + =Fields!PackageName.Value + true + 0.21in + 1in + + + + + + + + PackageFolder + =Fields!PackageFolder.Value + true + 0.21in + 1in + + + + + 0.21in + + +
+ + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + DataSet1 +
+ + + en-US + 1in + 1in + 1in + 1in + 8.5in + 11in + + + + + ApplicationName + System.String + + + ApplicationID + System.Int32 + + + PackageID + System.Int32 + + + PackagePath + System.String + + + ExecutionOrder + System.Int32 + + + PackageName + System.String + + + PackageFolder + System.String + + + + SSISConfig + Text + rpt.ReturnApplicationList + true + 0 + + + +
\ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Application List.rdl b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Application List.rdl new file mode 100644 index 0000000..6013d53 --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Application List.rdl @@ -0,0 +1,604 @@ + + + + + + + + + 1.82292in + + + 3.45833in + + + 2.29167in + + + 0.89583in + + + 1in + + + + + 0.22in + + + + + true + true + + + + + Application Name + + + + + + + textbox2 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Folder + + + + + + + Textbox5 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Name + + + + + + + textbox7 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Execution Order + + + + + + + Textbox3 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Executions + + + + + + + Textbox8 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageFolder.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + + PackageName + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ExecutionOrder.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Exec + + + + + + + Textbox9 + + + + + App Instance Report + + + =Fields!ApplicationName.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.36in + 0.43in + 9.46875in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 1.06778in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Source Name + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Error Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Error Description + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + =Fields!SourceName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ErrorDateTime.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ErrorDescription.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + rpt_ReturnErrors + 0.33in + 0.41in + 15.63541in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.94833in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Source Name + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Event Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Event Description + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SourceName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!EventDateTime.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!EventDescription.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.33in + 0.41in + 13.59375in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.97611in + + textbox1 + Package Instance Details + true + 0.36in + + + 0.36in + + textbox2 + Application Name + true + 0.22in + 1in + + + + + + + + textbox3 + Package Path + true + 0.22in + 1in + + + + + + + + textbox4 + Start Date Time + true + 0.22in + 1in + + + + + + + + textbox5 + Run Seconds + true + 0.22in + 1in + + + + + + + + textbox6 + Status + true + 0.22in + 1in + + + + + + + + textbox7 + App Instance ID + true + 0.22in + 1in + + + + + + + + textbox8 + Pkg Instance ID + true + 0.22in + 1in + + + + + + + + textbox9 + Package ID + true + 0.22in + 1in + + + + + + + + textbox10 + Application ID + true + 0.22in + 1in + + + + + 0.22in + + + +
+ + + + + + + + ApplicationName + =Fields!ApplicationName.Value + true + 0.21in + 1in + + + + + + + + PackagePath + =Fields!PackagePath.Value + true + 0.21in + 1in + + + + + + + + StartDateTime + =Fields!StartDateTime.Value + true + 0.21in + 1in + + + + + + + + RunSeconds + =Fields!RunSeconds.Value + true + 0.21in + 1in + + + + + + + + Status + =Fields!Status.Value + true + 0.21in + 1in + + + + + + + + AppInstanceID + =Fields!AppInstanceID.Value + true + 0.21in + 1in + + + + + + + + PkgInstanceID + =Fields!PkgInstanceID.Value + true + 0.21in + 1in + + + + + + + + PackageID + =Fields!PackageID.Value + true + 0.21in + 1in + + + + + + + + ApplicationID + =Fields!ApplicationID.Value + true + 0.21in + 1in + + + + + 0.21in + + +
+ + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + 1in + + + DataSet1 +
+ + + en-US + 1in + 1in + 1in + 1in + 8.5in + 11in + + + + + ApplicationName + System.String + + + PackagePath + System.String + + + StartDateTime + System.DateTime + + + RunSeconds + System.Int32 + + + Status + System.String + + + AppInstanceID + System.Int32 + + + PkgInstanceID + System.Int32 + + + PackageID + System.Int32 + + + ApplicationID + System.Int32 + + + + SSISConfig + Text + Select + a.ApplicationName + ,p.PackageFolder + p.PackageName As PackagePath + ,cp.StartDateTime + ,DateDiff(ss,cp.StartDateTime,Coalesce(cp.EndDateTime,GetDate())) As RunSeconds + ,cp.Status + ,ap.AppInstanceID + ,cp.PkgInstanceID + ,p.PackageID + ,a.ApplicationID + From log.SSISPkgInstance cp + Join cfg.Packages p + On p.PackageID = cp.PackageID + Join log.SSISAppInstance ap + On ap.AppInstanceID = cp.AppInstanceID + Join cfg.Applications a + On a.ApplicationID = ap.ApplicationID + Where p.PackageID = @PackageID + Order By cp.PkgInstanceID Desc + true + + + =Parameters!PackageID.Value + + + 0 + + + + + + String + Package ID + + +
\ No newline at end of file diff --git a/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Package Instance Details.rdl b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Package Instance Details.rdl new file mode 100644 index 0000000..70d321b --- /dev/null +++ b/SQL Server 2012 Integration Services Design Patterns/SSISConfigReports2012/SSISConfigReports2012/Package Instance Details.rdl @@ -0,0 +1,996 @@ + + + + + + + + + 1.80208in + + + 3.625in + + + 1.84375in + + + 1.125in + + + 1in + + + 1in + + + + + 0.22in + + + + + true + true + + + + + Application Name + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Path + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + + + + + + + + + + Textbox7 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackagePath.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox8 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!PkgInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 4.02667in + 0.43in + 10.39583in + + + + + + + + + + + + =Fields!StartDateTime.Value + + + + + =Fields!StartDateTime.Value + + + + + + + + + + + + + + + + + + + + =Sum(Fields!RunSeconds.Value) + + + + + + + =Fields!PackageName.Value + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Run Seconds + + + + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + Package Instance Run Times + + + + BrightPastel + + + + + No Data Available + + + DataSet1 + 0.37389in + 3.59722in + 10.39583in + 2 + + + White + None + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 4.68584in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Path + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox7 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox9 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackagePath.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + + + Error Report + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox8 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!PkgInstanceID.Value + + + =Fields!ApplicationName.Value + + + =Fields!PackageName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox10 + + + + + Package Instance Details + + + =Fields!PackageID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.33in + 0.41in + 11.42708in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.95875in + + + + + + + textbox3 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + =Iif(Fields!Status.Value="Failed","Error Report",Nothing) + + + =Fields!AppInstanceID.Value + + + + + + + + + + + + + Status + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + ReturnAppInstanceDetails + 4.15042in + 0.4525in + 5.90625in + + + + + + + + + + + + =Fields!StartDateTime.Value + + + + + =Fields!StartDateTime.Value + + + + + + + + + + + + + + + + + + + + =Sum(Fields!RunSeconds.Value) + + + + + + + =Parameters!AppName.Value & " Application Instances" + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Run Seconds + + + + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + Run Time by Application Instance + + + + BrightPastel + + + + + No Data Available + + + ReturnAppInstanceDetails + 0.38778in + 3.69319in + 7.59375in + 2 + + + White + None + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 4.79042in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Pkg + + + + + + + Textbox6 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox10 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox8 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Config + + + + + + + Textbox12 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + + + =Iif(Fields!Status.Value="Failed","Error Report",Nothing) + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Pkg + + + + + + + Textbox7 + + + + + Package Instance Report + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox11 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!ApplicationName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox9 + + + + + App Instance Details + + + =Fields!ApplicationName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + Config + + + + + + + Textbox13 + + + + + Application List + + + =Fields!ApplicationID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + ReturnAppInstanceHeader + 0.33in + 0.41in + 9.92708in + + + + =Parameters!ApplicationName.Value + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.93792in + + + + + + + textbox2 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Folder + + + + + + + Textbox5 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Name + + + + + + + textbox7 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Execution Order + + + + + + + Textbox3 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Executions + + + + + + + Textbox8 + + + SteelBlue + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageFolder.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + + PackageName + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ExecutionOrder.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Exec + + + + + + + Textbox9 + + + + + App Instance Report + + + =Fields!ApplicationName.Value + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.36in + 0.43in + 9.46875in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 1.06778in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Source Name + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Error Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Error Description + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + =Fields!SourceName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ErrorDateTime.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ErrorDescription.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + rpt_ReturnErrors + 0.33in + 0.41in + 15.63541in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.94833in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Source Name + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Event Date Time + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Event Description + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackageName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SourceName.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!EventDateTime.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!EventDescription.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.33in + 0.41in + 13.59375in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.97611in + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Path + + + + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + + + + + + + + + + Textbox7 + + + SteelBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackagePath.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox8 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!PkgInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 4.02667in + 0.43in + 10.39583in + + + + + + + + + + + + =Fields!StartDateTime.Value + + + + + =Fields!StartDateTime.Value + + + + + + + + + + + + + + + + + + + + =Sum(Fields!RunSeconds.Value) + + + + + + + =Fields!PackageName.Value + + + + False + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + False + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + Run Seconds + + + + + + + + + + + + 0.5 + + NaN + NaN + NaN + + + + Axis Title + + + + + + + + + + + + 0.5 + + NaN + Opposite + NaN + NaN + + + + + + + Package Instance Run Times + + + + BrightPastel + + + + + No Data Available + + + DataSet1 + 0.37389in + 3.59722in + 10.39583in + 2 + + + White + None + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 4.68584in + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Package Path + + + + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Start Date Time + + + + + + + textbox4 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Run Seconds + + + + + + + textbox5 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Status + + + + + + + textbox6 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox7 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox9 + + + CornflowerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.19in + + + + + true + true + + + + + =Fields!ApplicationName.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PackagePath.Value + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!StartDateTime.Value + + + + + + + StartDateTime + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!RunSeconds.Value + + + + + + + RunSeconds + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Status.Value + + + + + + + Status + + + + + Error Report + + + =Fields!AppInstanceID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Events + + + + + + + Textbox8 + + + + + Event Report + + + =Fields!AppInstanceID.Value + + + =Fields!PkgInstanceID.Value + + + =Fields!ApplicationName.Value + + + =Fields!PackageName.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Details + + + + + + + Textbox10 + + + + + Package Instance Details + + + =Fields!PackageID.Value + + + + + + + + + =Iif(Fields!Status.Value="Success","LightGreen",Iif(Fields!Status.Value="Failed","LightCoral",Iif(Fields!Status.Value="Running","Yellow",Iif(Fields!Status.Value="AbEnded","LightBlue","White")))) + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + DataSet1 + 0.33in + 0.41in + 11.42708in + + + + + + + true + true + + + + + © 2011,2012 Linchpin People, LLC + + + + + + + 0.95875in +