From 4aacdb93ff5a8d5d90b1843521aaf17f34eaa0af Mon Sep 17 00:00:00 2001 From: christianwade Date: Tue, 20 Dec 2016 00:34:25 -0800 Subject: [PATCH] CommitTimeout --- .../AsPartitionProcessing.SampleClient/Program.cs | 1 + .../AsPartitionProcessing/ConfigDatabaseHelper.cs | 2 ++ .../AsPartitionProcessing/ModelConfiguration.cs | 7 +++++++ .../AsPartitionProcessing/PartitionProcessor.cs | 8 +++----- AsPartitionProcessing/CreateDatabaseObjects.sql | 2 ++ AsPartitionProcessing/SampleConfiguration.sql | 1 + 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/AsPartitionProcessing/AsPartitionProcessing.SampleClient/Program.cs b/AsPartitionProcessing/AsPartitionProcessing.SampleClient/Program.cs index dbc434d..04d8543 100644 --- a/AsPartitionProcessing/AsPartitionProcessing.SampleClient/Program.cs +++ b/AsPartitionProcessing/AsPartitionProcessing.SampleClient/Program.cs @@ -82,6 +82,7 @@ namespace AsPartitionProcessing.SampleClient integratedAuth: true, userName: "", password: "", + commitTimeout: -1, tableConfigurations: new List { diff --git a/AsPartitionProcessing/AsPartitionProcessing/ConfigDatabaseHelper.cs b/AsPartitionProcessing/AsPartitionProcessing/ConfigDatabaseHelper.cs index 961633d..a3d613a 100644 --- a/AsPartitionProcessing/AsPartitionProcessing/ConfigDatabaseHelper.cs +++ b/AsPartitionProcessing/AsPartitionProcessing/ConfigDatabaseHelper.cs @@ -32,6 +32,7 @@ namespace AsPartitionProcessing ,[IncrementalOnline] ,[IncrementalParallelTables] ,[IntegratedAuth] + ,[CommitTimeout] ,[TableConfigurationID] ,[AnalysisServicesTable] ,[Partitioned] @@ -71,6 +72,7 @@ namespace AsPartitionProcessing modelConfig.IncrementalOnline = Convert.ToBoolean(reader["IncrementalOnline"]); modelConfig.IncrementalParallelTables = Convert.ToBoolean(reader["IncrementalParallelTables"]); modelConfig.IntegratedAuth = Convert.ToBoolean(reader["IntegratedAuth"]); + modelConfig.CommitTimeout = Convert.ToInt32(reader["CommitTimeout"]); modelConfig.ConfigDatabaseConnectionInfo = connectionInfo; currentModelConfigurationID = modelConfig.ModelConfigurationID; diff --git a/AsPartitionProcessing/AsPartitionProcessing/ModelConfiguration.cs b/AsPartitionProcessing/AsPartitionProcessing/ModelConfiguration.cs index 9eb2358..186d692 100644 --- a/AsPartitionProcessing/AsPartitionProcessing/ModelConfiguration.cs +++ b/AsPartitionProcessing/AsPartitionProcessing/ModelConfiguration.cs @@ -53,6 +53,11 @@ namespace AsPartitionProcessing /// public string Password { get; set; } + /// + /// Set to override of CommitTimeout server property value for the connection. -1 will not override; the server value will be used. + /// + public int CommitTimeout { get; set; } + /// /// Collection of partitioned tables containing configuration information. /// @@ -91,6 +96,7 @@ namespace AsPartitionProcessing bool integratedAuth, string userName, string password, + int commitTimeout, List tableConfigurations ) { @@ -103,6 +109,7 @@ namespace AsPartitionProcessing IntegratedAuth = integratedAuth; UserName = userName; Password = password; + CommitTimeout = commitTimeout; TableConfigurations = tableConfigurations; ExecutionID = Guid.NewGuid().ToString(); } diff --git a/AsPartitionProcessing/AsPartitionProcessing/PartitionProcessor.cs b/AsPartitionProcessing/AsPartitionProcessing/PartitionProcessor.cs index d75b57f..ee5b450 100644 --- a/AsPartitionProcessing/AsPartitionProcessing/PartitionProcessor.cs +++ b/AsPartitionProcessing/AsPartitionProcessing/PartitionProcessor.cs @@ -495,12 +495,10 @@ namespace AsPartitionProcessing private static void Connect(Server server, out Database database) { //Connect and get main objects - string serverConnectionString; - if (_modelConfiguration.IntegratedAuth) - serverConnectionString = $"Provider=MSOLAP;Data Source={_modelConfiguration.AnalysisServicesServer};"; - else + string serverConnectionString = $"Provider=MSOLAP;{(_modelConfiguration.CommitTimeout == -1 ? "" : $"CommitTimeout={Convert.ToString(_modelConfiguration.CommitTimeout)};")}Data Source={_modelConfiguration.AnalysisServicesServer};"; + if (!_modelConfiguration.IntegratedAuth) { - serverConnectionString = $"Provider=MSOLAP;Data Source={_modelConfiguration.AnalysisServicesServer};User ID={_modelConfiguration.UserName};Password={_modelConfiguration.Password};Persist Security Info=True;Impersonation Level=Impersonate;"; + serverConnectionString += $"User ID={_modelConfiguration.UserName};Password={_modelConfiguration.Password};Persist Security Info=True;Impersonation Level=Impersonate;"; } server.Connect(serverConnectionString); diff --git a/AsPartitionProcessing/CreateDatabaseObjects.sql b/AsPartitionProcessing/CreateDatabaseObjects.sql index 640a344..5feb6ac 100644 --- a/AsPartitionProcessing/CreateDatabaseObjects.sql +++ b/AsPartitionProcessing/CreateDatabaseObjects.sql @@ -11,6 +11,7 @@ CREATE TABLE [dbo].[ModelConfiguration]( [IncrementalOnline] [bit] NOT NULL, [IncrementalParallelTables] [bit] NOT NULL, [IntegratedAuth] [bit] NOT NULL, + [CommitTimeout] [int] NOT NULL, CONSTRAINT [PK_ModelConfiguration] PRIMARY KEY CLUSTERED ( [ModelConfigurationID] ASC @@ -106,6 +107,7 @@ SELECT m.[ModelConfigurationID] ,m.[IncrementalOnline] ,m.[IncrementalParallelTables] ,m.[IntegratedAuth] + ,m.[CommitTimeout] ,t.[TableConfigurationID] ,t.[AnalysisServicesTable] ,t.[DoNotProcess] diff --git a/AsPartitionProcessing/SampleConfiguration.sql b/AsPartitionProcessing/SampleConfiguration.sql index 9696a7b..2722165 100644 --- a/AsPartitionProcessing/SampleConfiguration.sql +++ b/AsPartitionProcessing/SampleConfiguration.sql @@ -7,6 +7,7 @@ VALUES( ,1 --[IncrementalOnline] ,1 --[IncrementalParallelTables] ,1 --[IntegratedAuth] + ,-1 --[CommitTimeout] ); INSERT INTO [dbo].[TableConfiguration]