Пример #1
0
 private void AddCeDatabase(DatabaseType dbType)
 {
     try
     {
         var    dialog = new ConnectionDialog();
         string path;
         if (TryGetInitialPath(package, out path))
         {
             dialog.InitialPath = path;
         }
         dialog.DbType       = dbType;
         dialog.ShowDdexInfo = package.VSSupportsSimpleDDEX4Provider() || package.VSSupportsSimpleDDEX35Provider();
         dialog.CouldSupportPrivateProvider =
             (dbType == DatabaseType.SQLCE40 && (SqlCeToolboxPackage.VisualStudioVersion == new Version(12, 0) || SqlCeToolboxPackage.VisualStudioVersion == new Version(14, 0))) ||
             (dbType == DatabaseType.SQLCE35 && package.VSSupportsEF6());
         bool?result = dialog.ShowModal();
         if (result.HasValue && result.Value == true)
         {
             if (!string.IsNullOrWhiteSpace(dialog.ConnectionString))
             {
                 Helpers.DataConnectionHelper.SaveDataConnection(dialog.ConnectionString, dbType, package);
                 ExplorerControl control = _parentWindow.Content as ExplorerControl;
                 control.BuildDatabaseTree();
                 Helpers.DataConnectionHelper.LogUsage("DatabasesAddCeDatabase");
             }
         }
     }
     catch (Exception ex)
     {
         Helpers.DataConnectionHelper.SendError(ex, dbType);
     }
 }
Пример #2
0
        internal static void SaveDataConnection(string connectionString, DatabaseType dbType, SqlCeToolboxPackage package)
        {
            var    storeDbType = GetPreferredDatabaseType();
            var    helper      = CreateEngineHelper(storeDbType);
            string path        = CreateEngineHelper(dbType).PathFromConnectionString(connectionString);

            helper.SaveDataConnection(CreateStore(storeDbType), connectionString, path, dbType.GetHashCode());

            if (package.VSSupportsSimpleDDEX35Provider() && dbType == DatabaseType.SQLCE35)
            {
                SaveDataConnection(package, connectionString, connectionString, dbType, new Guid(Resources.SqlCompact35PrivateProvider), false);
            }
            if (package.VSSupportsSimpleDDEX4Provider() && dbType == DatabaseType.SQLCE40)
            {
                SaveDataConnection(package, connectionString, connectionString, dbType, new Guid(Resources.SqlCompact40PrivateProvider), false);
            }
        }
Пример #3
0
        internal static void SaveDataConnection(string connectionString, DatabaseType dbType, SqlCeToolboxPackage package)
        {
            var storeDbType = GetPreferredDatabaseType();
            var helper = CreateEngineHelper(storeDbType);
            string path = CreateEngineHelper(dbType).PathFromConnectionString(connectionString);
            helper.SaveDataConnection(CreateStore(storeDbType), connectionString, path, dbType.GetHashCode());

            if (package.VSSupportsSimpleDDEX35Provider() && dbType == DatabaseType.SQLCE35)
            {
                SaveDataConnection(package, connectionString, connectionString, dbType, new Guid(Resources.SqlCompact35PrivateProvider), false);
            }
            if (package.VSSupportsSimpleDDEX4Provider() && dbType == DatabaseType.SQLCE40)
            {
                SaveDataConnection(package, connectionString, connectionString, dbType, new Guid(Resources.SqlCompact40PrivateProvider), false);
            }
        }