Skip to content

Commit

Permalink
add suport for Microsoft.Data.SqlClient
Browse files Browse the repository at this point in the history
fixes #980
  • Loading branch information
ErikEJ committed Mar 19, 2024
1 parent bc7eb88 commit f28dbf2
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/GUI/SqlCe35Toolbox/Helpers/DataConnectionHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ internal static Dictionary<string, DatabaseInfo> GetDataConnections(SqlCeToolbox
databaseList.Add(sConnectionString, info);
}
}
if (includeServerConnections && objProviderGuid == new Guid(Resources.SqlServerDotNetProvider))
if (includeServerConnections && objProviderGuid == new Guid(Resources.SqlServerDotNetProvider)
|| objProviderGuid == new Guid(Resources.MicrosoftSqlServerDotNetProvider))
{
var sConnectionString = DataProtection.DecryptString(connection.EncryptedConnectionString);
var info = new DatabaseInfo()
Expand Down
18 changes: 17 additions & 1 deletion src/GUI/SqlCe35Toolbox/Helpers/RepositoryHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ internal static IRepository CreateRepository(DatabaseInfo databaseInfo)
case DatabaseType.SQLCE40:
return new DB4Repository(databaseInfo.ConnectionString);
case DatabaseType.SQLServer:
return new ServerDBRepository(databaseInfo.ConnectionString, Properties.Settings.Default.KeepSchemaNames);
return new ServerDBRepository(SqlConnectionStringBuilderHelper.GetBuilder(databaseInfo.ConnectionString).ConnectionString, Properties.Settings.Default.KeepSchemaNames);
case DatabaseType.SQLite:
return new SQLiteRepository(databaseInfo.ConnectionString);
default:
Expand Down Expand Up @@ -106,6 +106,22 @@ public static bool IsMissing(DatabaseInfo info)
}
}

internal static class SqlConnectionStringBuilderHelper
{
public static SqlConnectionStringBuilder GetBuilder(string connectionString)
{
connectionString = ReplaceMdsKeywords(connectionString);
return new SqlConnectionStringBuilder(connectionString);
}

private static string ReplaceMdsKeywords(string connectionString)
{
connectionString = connectionString.Replace("Multiple Active Result Sets=", "MultipleActiveResultSets=");
connectionString = connectionString.Replace("Trust Server Certificate=", "TrustServerCertificate=");
return connectionString;
}
}

internal static bool IsV40Installed()
{
return new SqlCeHelper4().IsV40Installed() != null;
Expand Down
11 changes: 10 additions & 1 deletion src/GUI/SqlCe35Toolbox/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/GUI/SqlCe35Toolbox/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -317,4 +317,7 @@ Storage size varies. It is the length of the value in bytes.</value>
<data name="SqlitePrivateProvider" xml:space="preserve">
<value>687EA40E-7B91-472A-9A58-2A3D43DE1ACE</value>
</data>
<data name="MicrosoftSqlServerDotNetProvider" xml:space="preserve">
<value>8800600a-add9-47e8-81d2-1d13b5a09c13</value>
</data>
</root>

0 comments on commit f28dbf2

Please sign in to comment.