From 0a7c1b57478f28a66282f8b1aa76186b98b2a622 Mon Sep 17 00:00:00 2001 From: Danilo Breda Date: Tue, 17 Apr 2018 07:39:26 -0300 Subject: [PATCH] Refactored MsSqlConnectionStringBuilder to remove dependencies. (#395) * Changed MsSqlConnectionStringBuilder to remove the need of System.Data.SqlClient.SqlConnectionStringBuilder and System.Data.SqlClient * Added space support for MsSqlConnectionStringBuilder connectionString --- .../Cfg/Db/MsSqlConnectionStringBuilder.cs | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/src/FluentNHibernate/Cfg/Db/MsSqlConnectionStringBuilder.cs b/src/FluentNHibernate/Cfg/Db/MsSqlConnectionStringBuilder.cs index 48951ede7..49cd9c022 100644 --- a/src/FluentNHibernate/Cfg/Db/MsSqlConnectionStringBuilder.cs +++ b/src/FluentNHibernate/Cfg/Db/MsSqlConnectionStringBuilder.cs @@ -1,4 +1,4 @@ -using System.Data.SqlClient; +using System.Text; namespace FluentNHibernate.Cfg.Db { @@ -52,20 +52,34 @@ protected internal override string Create() if (!string.IsNullOrEmpty(connectionString)) return connectionString; - var builder = new SqlConnectionStringBuilder(connectionString) - { - DataSource = server, - InitialCatalog = database, - IntegratedSecurity = trustedConnection - }; + var sb = new StringBuilder(); + + if (server.Contains(" ")) + sb.AppendFormat("Data Source=\"{0}\"", server); + else + sb.AppendFormat("Data Source={0}", server); + + if (database.Contains(" ")) + sb.AppendFormat(";Initial Catalog=\"{0}\"", database); + else + sb.AppendFormat(";Initial Catalog={0}", database); + + sb.AppendFormat(";Integrated Security={0}", trustedConnection); if (!trustedConnection) { - builder.UserID = username; - builder.Password = password; + if (username.Contains(" ")) + sb.AppendFormat(";User Id=\"{0}\"", username); + else + sb.AppendFormat(";User Id={0}", username); + + if (password.Contains(" ")) + sb.AppendFormat(";Password=\"{0}\"", password); + else + sb.AppendFormat(";Password={0}", password); } - return builder.ToString(); + return sb.ToString(); } } } \ No newline at end of file