diff --git a/src/Umbraco.Tests/BusinessLogic/BaseTest.cs b/src/Umbraco.Tests/BusinessLogic/BaseTest.cs
index e69fd7f3dd..06c62a9de2 100644
--- a/src/Umbraco.Tests/BusinessLogic/BaseTest.cs
+++ b/src/Umbraco.Tests/BusinessLogic/BaseTest.cs
@@ -39,7 +39,7 @@ namespace Umbraco.Tests.BusinessLogic
private void ClearDatabase()
{
var databaseSettings = ConfigurationManager.ConnectionStrings[Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString) as SqlCEHelper;
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false) as SqlCEHelper;
if (dataHelper == null)
throw new InvalidOperationException("The sql helper for unit tests must be of type SqlCEHelper, check the ensure the connection string used for this test is set to use SQLCE");
@@ -57,7 +57,7 @@ namespace Umbraco.Tests.BusinessLogic
AppDomain.CurrentDomain.SetData("DataDirectory", TestHelper.CurrentAssemblyDirectory);
var databaseSettings = ConfigurationManager.ConnectionStrings[Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString) as SqlCEHelper;
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false) as SqlCEHelper;
var installer = dataHelper.Utility.CreateInstaller();
if (installer.CanConnect)
diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs
index 20e23f2084..819ccdb68b 100644
--- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs
+++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs
@@ -23,7 +23,7 @@ namespace Umbraco.Tests.TestHelpers
public static void ClearDatabase()
{
var databaseSettings = ConfigurationManager.ConnectionStrings[Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString) as SqlCEHelper;
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false) as SqlCEHelper;
if (dataHelper == null)
throw new InvalidOperationException("The sql helper for unit tests must be of type SqlCEHelper, check the ensure the connection string used for this test is set to use SQLCE");
@@ -41,7 +41,7 @@ namespace Umbraco.Tests.TestHelpers
ClearDatabase();
var databaseSettings = ConfigurationManager.ConnectionStrings[Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString);
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false);
var installer = dataHelper.Utility.CreateInstaller();
if (installer.CanConnect)
diff --git a/src/Umbraco.Web/umbraco.presentation/install/steps/database.ascx.cs b/src/Umbraco.Web/umbraco.presentation/install/steps/database.ascx.cs
index 496b3dac04..d05f87af9a 100644
--- a/src/Umbraco.Web/umbraco.presentation/install/steps/database.ascx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/install/steps/database.ascx.cs
@@ -6,6 +6,7 @@ using System.Web.UI.HtmlControls;
using Umbraco.Core;
using Umbraco.Core.Logging;
using System.IO;
+using Umbraco.Core.Persistence;
using umbraco.DataLayer;
using umbraco.IO;
@@ -85,7 +86,7 @@ namespace umbraco.presentation.install.steps
var databaseSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
if (databaseSettings != null)
{
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString);
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false);
connectionStringBuilder.ConnectionString = dataHelper.ConnectionString;
// Prepare data layer type
diff --git a/src/umbraco.businesslogic/Application.cs b/src/umbraco.businesslogic/Application.cs
index be8d17dcc6..340f10c814 100644
--- a/src/umbraco.businesslogic/Application.cs
+++ b/src/umbraco.businesslogic/Application.cs
@@ -94,7 +94,7 @@ namespace umbraco.BusinessLogic
ConfigurationManager.AppSettings.ContainsKey(umbracoDsn))
connectionString = ConfigurationManager.AppSettings[umbracoDsn];
- _sqlHelper = DataLayerHelper.CreateSqlHelper(connectionString);
+ _sqlHelper = DataLayerHelper.CreateSqlHelper(connectionString, false);
}
catch(Exception ex)
{
diff --git a/src/umbraco.businesslogic/ApplicationRegistrar.cs b/src/umbraco.businesslogic/ApplicationRegistrar.cs
index b643427406..8eb695eebb 100644
--- a/src/umbraco.businesslogic/ApplicationRegistrar.cs
+++ b/src/umbraco.businesslogic/ApplicationRegistrar.cs
@@ -24,7 +24,7 @@ namespace umbraco.BusinessLogic
try
{
var databaseSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
- _sqlHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString);
+ _sqlHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false);
}
catch { }
}
diff --git a/src/umbraco.businesslogic/GlobalSettings.cs b/src/umbraco.businesslogic/GlobalSettings.cs
index 9c89ca4099..dd77f843b1 100644
--- a/src/umbraco.businesslogic/GlobalSettings.cs
+++ b/src/umbraco.businesslogic/GlobalSettings.cs
@@ -387,7 +387,7 @@ namespace umbraco
get
{
var databaseSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString);
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false);
if (HttpContext.Current != null)
{
diff --git a/src/umbraco.cms/businesslogic/datatype/DataEditorSettingsStorage.cs b/src/umbraco.cms/businesslogic/datatype/DataEditorSettingsStorage.cs
index 88bc00521d..85e8cd2e3c 100644
--- a/src/umbraco.cms/businesslogic/datatype/DataEditorSettingsStorage.cs
+++ b/src/umbraco.cms/businesslogic/datatype/DataEditorSettingsStorage.cs
@@ -14,9 +14,9 @@ namespace umbraco.cms.businesslogic.datatype
public DataEditorSettingsStorage()
{
var databaseSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
- var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString);
+ var dataHelper = DataLayerHelper.CreateSqlHelper(databaseSettings.ConnectionString, false);
- init(DataLayerHelper.CreateSqlHelper(dataHelper.ConnectionString));
+ init(DataLayerHelper.CreateSqlHelper(dataHelper.ConnectionString, false));
}
private void init(ISqlHelper connection)
diff --git a/src/umbraco.datalayer/DataLayerHelper.cs b/src/umbraco.datalayer/DataLayerHelper.cs
index 07a91901aa..d50aa5fc8a 100644
--- a/src/umbraco.datalayer/DataLayerHelper.cs
+++ b/src/umbraco.datalayer/DataLayerHelper.cs
@@ -41,12 +41,17 @@ namespace umbraco.DataLayer
/// A new SQL helper.
/// This method will change to allow the addition of external SQL helpers.
public static ISqlHelper CreateSqlHelper(string connectionString)
+ {
+ return CreateSqlHelper(connectionString, true);
+ }
+
+ public static ISqlHelper CreateSqlHelper(string connectionString, bool forceLegacyConnection)
{
/* check arguments */
if (string.IsNullOrEmpty(connectionString))
throw new ArgumentNullException("connectionString");
- if (IsEmbeddedDatabase(connectionString) && connectionString.ToLower().Contains("SQLCE4Umbraco".ToLower()) == false)
+ if (forceLegacyConnection == false && IsEmbeddedDatabase(connectionString) && connectionString.ToLower().Contains("SQLCE4Umbraco".ToLower()) == false)
{
// Input is : Datasource=|DataDirectory|Umbraco.sdf
// Should be: datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\Umbraco.sdf
@@ -67,10 +72,10 @@ namespace umbraco.DataLayer
throw new ArgumentException("Bad connection string.", "connectionString", ex);
}
- var databaseSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
-
- if (databaseSettings != null)
- SetDataHelperNames(databaseSettings);
+ var connectionStringSettings = ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName];
+
+ if (forceLegacyConnection == false && connectionStringSettings != null)
+ SetDataHelperNames(connectionStringSettings);
else
SetDataHelperNamesLegacyConnectionString(connectionStringBuilder);