bool IXapDataProvider.IsConnectionValid()
        {
            try {
                _connectionProvider = DbFactory.Instance.LoadDataConnectionProvider(_dbConnectionContext.DataProvider);
                _connection         = _connectionProvider.GetConnection(_dbConnectionContext.ConnectionString);

                if (_connection != null)
                {
                    return(true);
                }

                return(false);
            }catch (Exception ex) {
                return(false);
            } finally {
                ((IXapDataProvider)this).CloseConnection();
            }
        }
        private void OpenConnection()
        {
            try {
                _connectionProvider = DbFactory.Instance.LoadDataConnectionProvider(_dbConnectionContext.DataProvider);
                _connection         = _connectionProvider.GetConnection(_dbConnectionContext.ConnectionString);

                if (!string.IsNullOrWhiteSpace(_dbConnectionContext.TSql))
                {
                    CreateCommand();
                }
                else
                {
                    throw new XapException("TSQL must be provided");
                }
            } catch (Exception ex) {
                DbConnectionContextService.Instance.Clear();
                throw new XapException($"Error opening data connection for {_dbConnectionContext.DbKey}", ex);
            }
        }