/// <summary> /// Attempts to create a new schema using a connection related to the parameters in the dialog. /// </summary> /// <param name="schemaName">The name of the new schema.</param> /// <returns><c>true</c> if the schema is created successfully, <c>false</c> otherwise.</returns> private bool CreateSchema(string schemaName) { bool success = true; try { using (var conn = new MySqlConnectionSupport()) { var connectionStringBuilder = new MySqlConnectionStringBuilder(ConnectionString) { Database = string.Empty }; conn.Initialize(null); conn.ConnectionString = connectionStringBuilder.ConnectionString; conn.Open(false); conn.ExecuteWithoutResults(string.Format("CREATE DATABASE `{0}`", schemaName), 1, null, 0); } } catch (Exception ex) { success = false; MySqlSourceTrace.WriteAppErrorToLog(ex, Resources.ErrorTitle, string.Format(Resources.ErrorAttemptingToCreateDB, schemaName), true); } return(success); }
private void dbList_DropDown(object sender, EventArgs e) { if (!this.dbListPopulated) { DbConnectionStringBuilder builder = ((base.ConnectionProperties) as MySqlConnectionProperties).ConnectionStringBuilder; try { using (MySqlConnectionSupport support = new MySqlConnectionSupport()) { support.Initialize(null); support.ConnectionString = builder.ConnectionString; support.Open(false); this.dbList.Items.Clear(); using (DataReader reader = support.Execute("SHOW DATABASES", 1, null, 0)) { while (reader.Read()) { string str = reader.GetItem(0).ToString().ToLowerInvariant(); if (!(str == "information_schema") && !(str == "mysql")) { this.dbList.Items.Add(reader.GetItem(0)); } } this.dbListPopulated = true; } } } catch (Exception) { MessageBox.Show("Unable to retrieve the list of databases"); } } }
private bool AttemptToCreateDatabase() { bool flag; MySqlConnectionProperties connectionProperties = (MySqlConnectionProperties)(base.ConnectionProperties); DbConnectionStringBuilder connectionStringBuilder = connectionProperties.ConnectionStringBuilder; string str = (string)connectionStringBuilder["Database"]; connectionStringBuilder["Database"] = ""; try { using (MySqlConnectionSupport support = new MySqlConnectionSupport()) { support.Initialize(null); support.ConnectionString = connectionStringBuilder.ConnectionString; support.Open(false); support.ExecuteWithoutResults("CREATE DATABASE `" + this.dbList.Text + "`", 1, null, 0); } flag = true; } catch (Exception) { MessageBox.Show(string.Format("There was an error attempting to create the database '{0}'", this.dbList.Text)); flag = false; } finally { connectionStringBuilder["Database"] = str; } return(flag); }
internal static List <string> GetSchemas(MySqlConnectionStringBuilder csb) { var schemas = new List <string>(); try { using (MySqlConnectionSupport conn = new MySqlConnectionSupport()) { conn.Initialize(null); conn.ConnectionString = csb.ConnectionString; conn.Open(false); using (DataReader reader = conn.Execute("SHOW DATABASES", 1, null, 0)) { while (reader.Read()) { string dbName = reader.GetItem(0).ToString().ToLowerInvariant(); if (dbName == "performance_schema") { continue; } if (dbName == "information_schema") { continue; } if (dbName == "mysql") { continue; } schemas.Add(dbName); } } } return(schemas); } catch { return(null); } }
private bool DatabaseExists() { DbConnectionStringBuilder builder = ((base.ConnectionProperties as MySqlConnectionProperties).ConnectionStringBuilder); try { using (MySqlConnectionSupport support = new MySqlConnectionSupport()) { support.Initialize(null); support.ConnectionString = (builder.ConnectionString); support.Open(false); } return(true); } catch (DbException exception) { if (!exception.Message.ToLowerInvariant().StartsWith("unknown database", StringComparison.OrdinalIgnoreCase)) { throw; } return(false); } }