/// <summary> /// Opens a database connection with the property settings specified by the ConnectionString. /// </summary> public void Open() { if (state == ConnectionState.Open) { throw new MySqlException("error connecting: The connection is already Open (state=Open)."); } SetState(ConnectionState.Connecting); try { if (settings.Pooling) { internalConnection = MySqlPoolManager.GetConnection(settings); } else { internalConnection = new MySqlInternalConnection(settings); internalConnection.Open(); } } catch (Exception ex) { SetState(ConnectionState.Closed); throw ex; } SetState(ConnectionState.Open); internalConnection.SetServerVariables(this); if (settings.Database != null && settings.Database != String.Empty) { ChangeDatabase(settings.Database); } }
private MySqlInternalConnection CreateNewPooledConnection() { lock (idlePool.SyncRoot) lock (inUsePool.SyncRoot) { // first we check if we are allowed to create another if ((inUsePool.Count + idlePool.Count) == maxSize) { return(null); } MySqlInternalConnection conn = new MySqlInternalConnection(settings); conn.Open(); idlePool.Add(conn); return(conn); } }
private MySqlInternalConnection CreateNewPooledConnection() { lock(idlePool.SyncRoot) lock (inUsePool.SyncRoot) { // first we check if we are allowed to create another if ((inUsePool.Count + idlePool.Count) == maxSize) return null; MySqlInternalConnection conn = new MySqlInternalConnection( settings ); conn.Open(); idlePool.Add( conn ); return conn; } }
/// <summary> /// Opens a database connection with the property settings specified by the ConnectionString. /// </summary> public void Open() { if (state == ConnectionState.Open) throw new MySqlException("error connecting: The connection is already Open (state=Open)."); SetState( ConnectionState.Connecting ); try { if (settings.Pooling) { internalConnection = MySqlPoolManager.GetConnection( settings ); } else { internalConnection = new MySqlInternalConnection( settings ); internalConnection.Open(); } } catch (Exception ex) { SetState( ConnectionState.Closed ); throw ex; } SetState( ConnectionState.Open ); internalConnection.SetServerVariables(this); if (settings.Database != null && settings.Database != String.Empty) ChangeDatabase( settings.Database ); }