Index: Application/Ringtoets/src/Application.Ringtoets.Storage/SqLiteConnectionStringBuilder.cs =================================================================== diff -u -r412791538879e68779c4e8b7435d14e5797f6aad -r59fdaa6c22f0c665ee9331cc4361e3944914f8a2 --- Application/Ringtoets/src/Application.Ringtoets.Storage/SqLiteConnectionStringBuilder.cs (.../SqLiteConnectionStringBuilder.cs) (revision 412791538879e68779c4e8b7435d14e5797f6aad) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/SqLiteConnectionStringBuilder.cs (.../SqLiteConnectionStringBuilder.cs) (revision 59fdaa6c22f0c665ee9331cc4361e3944914f8a2) @@ -69,7 +69,7 @@ ReadOnly = false, ForeignKeys = true, Version = 3, - Pooling = true + Pooling = false }.ConnectionString; } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqliteCreator.cs =================================================================== diff -u -rb2b750256550d807650f79419692cad0548d754d -r59fdaa6c22f0c665ee9331cc4361e3944914f8a2 --- Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqliteCreator.cs (.../StorageSqliteCreator.cs) (revision b2b750256550d807650f79419692cad0548d754d) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqliteCreator.cs (.../StorageSqliteCreator.cs) (revision 59fdaa6c22f0c665ee9331cc4361e3944914f8a2) @@ -52,27 +52,25 @@ { using (var dbContext = new SQLiteConnection(connectionString, true)) { + dbContext.Open(); using (var command = dbContext.CreateCommand()) { - dbContext.Open(); - try - { - command.CommandText = Resources.DatabaseStructure; - command.ExecuteNonQuery(); - } - finally - { - SQLiteConnection.ClearAllPools(); - } - dbContext.Close(); + command.CommandText = Resources.DatabaseStructure; + command.ExecuteNonQuery(); } + + dbContext.Close(); } } catch (SQLiteException exception) { var message = new FileWriterErrorMessageBuilder(databaseFilePath).Build(Resources.Error_Write_Structure_to_Database); throw new StorageException(message, new UpdateStorageException("", exception)); } + finally + { + SQLiteConnection.ClearAllPools(); + } } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/SqLiteConnectionStringBuilderTest.cs =================================================================== diff -u -r9f0caaca795ec590b33c6aac235c3827b7bf4d50 -r59fdaa6c22f0c665ee9331cc4361e3944914f8a2 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/SqLiteConnectionStringBuilderTest.cs (.../SqLiteConnectionStringBuilderTest.cs) (revision 9f0caaca795ec590b33c6aac235c3827b7bf4d50) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/SqLiteConnectionStringBuilderTest.cs (.../SqLiteConnectionStringBuilderTest.cs) (revision 59fdaa6c22f0c665ee9331cc4361e3944914f8a2) @@ -34,10 +34,9 @@ StringAssert.Contains("read only=False", connectionString); StringAssert.Contains("foreign keys=True", connectionString); StringAssert.Contains("version=3", connectionString); - StringAssert.Contains("pooling=True", connectionString); + StringAssert.Contains("pooling=False", connectionString); } - [Test] public void BuildSqLiteEntityConnectionString_ValidUncPathToSqLiteFile_ValidConnectionString() { @@ -56,7 +55,7 @@ StringAssert.Contains("read only=False", connectionString); StringAssert.Contains("foreign keys=True", connectionString); StringAssert.Contains("version=3", connectionString); - StringAssert.Contains("pooling=True", connectionString); + StringAssert.Contains("pooling=False", connectionString); } [Test] @@ -88,7 +87,7 @@ StringAssert.Contains("read only=False", connectionString); StringAssert.Contains("foreign keys=True", connectionString); StringAssert.Contains("version=3", connectionString); - StringAssert.Contains("pooling=True", connectionString); + StringAssert.Contains("pooling=False", connectionString); } [Test] @@ -109,7 +108,7 @@ StringAssert.Contains("read only=False", connectionString); StringAssert.Contains("foreign keys=True", connectionString); StringAssert.Contains("version=3", connectionString); - StringAssert.Contains("pooling=True", connectionString); + StringAssert.Contains("pooling=False", connectionString); } private const string pathToSqLiteFile = @"C:\SqLiteFile.sqlite"; Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/SqLiteDatabaseHelper.cs =================================================================== diff -u -rb2b750256550d807650f79419692cad0548d754d -r59fdaa6c22f0c665ee9331cc4361e3944914f8a2 --- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/SqLiteDatabaseHelper.cs (.../SqLiteDatabaseHelper.cs) (revision b2b750256550d807650f79419692cad0548d754d) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/SqLiteDatabaseHelper.cs (.../SqLiteDatabaseHelper.cs) (revision 59fdaa6c22f0c665ee9331cc4361e3944914f8a2) @@ -50,9 +50,9 @@ var connectionString = SqLiteConnectionStringBuilder.BuildSqLiteConnectionString(databaseFilePath); using (var dbContext = new SQLiteConnection(connectionString, true)) { + dbContext.Open(); using (var command = dbContext.CreateCommand()) { - dbContext.Open(); try { command.CommandText = databaseSchemaQuery; @@ -63,6 +63,7 @@ SQLiteConnection.ClearAllPools(); } } + dbContext.Close(); } } Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -rdcca1cc8572f3444a19a7ab3caf32f13207a2494 -r59fdaa6c22f0c665ee9331cc4361e3944914f8a2 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision dcca1cc8572f3444a19a7ab3caf32f13207a2494) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 59fdaa6c22f0c665ee9331cc4361e3944914f8a2) @@ -969,17 +969,22 @@ var isClearConfirmationRequired = isHydraulicBoundaryDatabaseSet && !HydraulicDatabaseHelper.HaveEqualVersion(hydraulicBoundaryDatabase, databaseFile); var isClearConfirmationGiven = isClearConfirmationRequired && IsClearCalculationConfirmationGiven(); - if (!isHydraulicBoundaryDatabaseSet || !isClearConfirmationRequired || isClearConfirmationGiven) + if (isHydraulicBoundaryDatabaseSet && isClearConfirmationRequired && !isClearConfirmationGiven) { - var hydraulicBoundaryLocationsImporter = new HydraulicBoundaryDatabaseImporter(); + return; + } + + using (var hydraulicBoundaryLocationsImporter = new HydraulicBoundaryDatabaseImporter()) + { if (hydraulicBoundaryLocationsImporter.Import(assessmentSection, databaseFile)) { if (isClearConfirmationRequired) { ClearCalculations(assessmentSection); } assessmentSection.NotifyObservers(); - log.InfoFormat(RingtoetsFormsResources.RingtoetsGuiPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked, assessmentSection.HydraulicBoundaryDatabase.FilePath); + log.InfoFormat(RingtoetsFormsResources.RingtoetsGuiPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked, + assessmentSection.HydraulicBoundaryDatabase.FilePath); } } }