Esempio n. 1
0
        public OracleConnectionPool(string name, string connectionString, Action availableHandler, Action unavailableHandler) : base(null)
        {
            this.availableHandler   = availableHandler;
            this.unavailableHandler = unavailableHandler;
            this.UserId             = OracleConnectionPool.GetUserId(connectionString);

            var policy = new OracleConnectionPoolPolicy
            {
                _pool = this,
                Name  = name
            };

            this.Policy             = policy;
            policy.ConnectionString = connectionString;
        }
Esempio n. 2
0
        public OracleConnectionPool(string name, string connectionString, Action availableHandler, Action unavailableHandler) : base(null)
        {
            var userIdMatch = Regex.Match(connectionString, @"User\s+Id\s*=\s*([^;]+)", RegexOptions.IgnoreCase);

            if (userIdMatch.Success == false)
            {
                throw new Exception(@"从 ConnectionString 中无法匹配 User\s+Id\s+=([^;]+)");
            }
            this.UserId = userIdMatch.Groups[1].Value.Trim().ToUpper();

            var policy = new OracleConnectionPoolPolicy {
                _pool = this,
                Name  = name
            };

            this.Policy             = policy;
            policy.ConnectionString = connectionString;

            this.availableHandler   = availableHandler;
            this.unavailableHandler = unavailableHandler;
        }