public OdbcOracleConnectionPool(string name, string connectionString, Action availableHandler, Action unavailableHandler) : base(null) { this.UserId = OdbcOracleConnectionPool.GetUserId(connectionString); this.availableHandler = availableHandler; this.unavailableHandler = unavailableHandler; var policy = new OdbcOracleConnectionPoolPolicy { _pool = this, Name = name }; this.Policy = policy; policy.ConnectionString = connectionString; }
public OdbcOracleConnectionPool(string name, string connectionString, Action availableHandler, Action unavailableHandler) : base(null) { var userIdMatch = Regex.Match(connectionString, @"(User\s+Id|Uid)\s*=\s*([^;]+)", RegexOptions.IgnoreCase); if (userIdMatch.Success == false) { throw new Exception(@"从 ConnectionString 中无法匹配 (User\s+Id|Uid)\s*=\s*([^;]+)"); } this.UserId = userIdMatch.Groups[2].Value.Trim().ToUpper(); var policy = new OdbcOracleConnectionPoolPolicy { _pool = this, Name = name }; this.Policy = policy; policy.ConnectionString = connectionString; this.availableHandler = availableHandler; this.unavailableHandler = unavailableHandler; }