/// <summary> /// Verifies whether a it is possible to connect to a database. /// </summary> public bool CanConnect(string databaseType, string connectionString, string server, string database, string login, string password, bool integratedAuth) { // we do not test SqlCE connection if (databaseType.InvariantContains("sqlce")) { return(true); } string providerName; if (string.IsNullOrWhiteSpace(connectionString) == false) { providerName = DbConnectionExtensions.DetectProviderNameFromConnectionString(connectionString); } else if (integratedAuth) { // has to be Sql Server providerName = Constants.DbProviderNames.SqlServer; connectionString = GetIntegratedSecurityDatabaseConnectionString(server, database); } else { connectionString = GetDatabaseConnectionString( server, database, login, password, databaseType, out providerName); } return(DbConnectionExtensions.IsConnectionAvailable(connectionString, providerName)); }
/// <summary> /// Verifies whether a it is possible to connect to a database. /// </summary> public bool CanConnect(string databaseType, string connectionString, string server, string database, string login, string password, bool integratedAuth) { // we do not test SqlCE or LocalDB connections if (databaseType.InvariantContains("SqlCe") || databaseType.InvariantContains("SqlLocalDb")) { return(true); } string providerName; if (string.IsNullOrWhiteSpace(connectionString) == false) { providerName = ConfigConnectionString.ParseProviderName(connectionString); } else if (integratedAuth) { // has to be Sql Server providerName = Constants.DbProviderNames.SqlServer; connectionString = GetIntegratedSecurityDatabaseConnectionString(server, database); } else { connectionString = GetDatabaseConnectionString( server, database, login, password, databaseType, out providerName); } var factory = _dbProviderFactoryCreator.CreateFactory(providerName); return(DbConnectionExtensions.IsConnectionAvailable(connectionString, factory)); }
private InstallState GetInstallState() { var installState = InstallState.Unknown; var databaseSettings = ConfigurationManager.ConnectionStrings[Constants.System.UmbracoConnectionName]; var hasVersion = !_globalSettings.ConfigurationStatus.IsNullOrWhiteSpace(); if (hasVersion) { installState = InstallState.HasVersion; } var hasConnString = databaseSettings != null && _databaseBuilder.IsDatabaseConfigured; if (hasConnString) { installState = (installState | InstallState.HasConnectionString) & ~InstallState.Unknown; } var connStringConfigured = hasConnString ? _databaseBuilder.IsConnectionStringConfigured(databaseSettings) : false; if (connStringConfigured) { installState = (installState | InstallState.ConnectionStringConfigured) & ~InstallState.Unknown; } var canConnect = connStringConfigured ? DbConnectionExtensions.IsConnectionAvailable(databaseSettings.ConnectionString, databaseSettings.ProviderName) : false; if (canConnect) { installState = (installState | InstallState.CanConnect) & ~InstallState.Unknown; } var umbracoInstalled = canConnect ? _databaseBuilder.IsUmbracoInstalled() : false; if (umbracoInstalled) { installState = (installState | InstallState.UmbracoInstalled) & ~InstallState.Unknown; } var hasNonDefaultUser = umbracoInstalled ? _databaseBuilder.HasSomeNonDefaultUser() : false; if (hasNonDefaultUser) { installState = (installState | InstallState.HasNonDefaultUser) & ~InstallState.Unknown; } return(installState); }
private InstallState GetInstallState() { var installState = InstallState.Unknown; // TODO: we need to do a null check here since this could be entirely missing and we end up with a null ref // exception in the installer. var databaseSettings = _connectionStrings.Get(Constants.System.UmbracoConnectionName); var hasConnString = databaseSettings != null && _databaseBuilder.IsDatabaseConfigured; if (hasConnString) { installState = (installState | InstallState.HasConnectionString) & ~InstallState.Unknown; } var connStringConfigured = databaseSettings?.IsConnectionStringConfigured() ?? false; if (connStringConfigured) { installState = (installState | InstallState.ConnectionStringConfigured) & ~InstallState.Unknown; } var factory = _dbProviderFactoryCreator.CreateFactory(databaseSettings?.ProviderName); var canConnect = connStringConfigured && DbConnectionExtensions.IsConnectionAvailable(databaseSettings?.ConnectionString, factory); if (canConnect) { installState = (installState | InstallState.CanConnect) & ~InstallState.Unknown; } var umbracoInstalled = canConnect ? _databaseBuilder.IsUmbracoInstalled() : false; if (umbracoInstalled) { installState = (installState | InstallState.UmbracoInstalled) & ~InstallState.Unknown; } var hasNonDefaultUser = umbracoInstalled ? _databaseBuilder.HasSomeNonDefaultUser() : false; if (hasNonDefaultUser) { installState = (installState | InstallState.HasNonDefaultUser) & ~InstallState.Unknown; } return(installState); }
internal bool CheckConnection(DatabaseModel database, ApplicationContext applicationContext) { string connectionString; DatabaseProviders provider; var dbContext = applicationContext.DatabaseContext; if (database.ConnectionString.IsNullOrWhiteSpace() == false) { connectionString = database.ConnectionString; provider = DbConnectionExtensions.DetectProviderFromConnectionString(connectionString); } else if (database.DatabaseType == DatabaseType.SqlCe) { //we do not test this connection return(true); //connectionString = dbContext.GetEmbeddedDatabaseConnectionString(); } else if (database.IntegratedAuth) { connectionString = dbContext.GetIntegratedSecurityDatabaseConnectionString( database.Server, database.DatabaseName); provider = DatabaseProviders.SqlServer;; } else { string providerName; connectionString = dbContext.GetDatabaseConnectionString( database.Server, database.DatabaseName, database.Login, database.Password, database.DatabaseType.ToString(), out providerName); provider = database.DatabaseType == DatabaseType.MySql ? DatabaseProviders.MySql : DatabaseProviders.SqlServer; } return(DbConnectionExtensions.IsConnectionAvailable(connectionString, provider)); }
/// <summary> /// Verifies whether a it is possible to connect to a database. /// </summary> public bool CanConnect(string connectionString, string providerName) { DbProviderFactory factory = _dbProviderFactoryCreator.CreateFactory(providerName); return(DbConnectionExtensions.IsConnectionAvailable(connectionString, factory)); }