예제 #1
0
        public object CheckConnectionValid(DataSourceConnDTO dto)
        {
            dto.TypeCode = dto.TypeCode.ToUpper();
            EnumDataSourceType    @enum      = EnumUtil.GetEnumObjByName <EnumDataSourceType>(dto.TypeCode);
            IDMEDataSourceFactory factory    = null;
            IDMEDataSource        dataSource = null;
            ValidResult           result     = new ValidResult();

            try
            {
                switch (@enum)
                {
                case EnumDataSourceType.UNKNOWN:
                    break;

                case EnumDataSourceType.SHAPEFILE:
                    break;

                case EnumDataSourceType.COVERAGE:
                    break;

                case EnumDataSourceType.PERSONAL_GEODATABASE:
                    break;

                case EnumDataSourceType.FILE_GEODATABASE:
                    break;

                case EnumDataSourceType.TIN:
                    break;

                case EnumDataSourceType.CAD:
                    break;

                case EnumDataSourceType.ORACLE:
                case EnumDataSourceType.ENTERPRISE_GEODATABASE:
                    factory        = new DMEOracleFactory();
                    dataSource     = factory.OpenFromConnectionStr(dto.Connection, true);
                    result.IsValid = dataSource.ValidConnection();
                    break;

                case EnumDataSourceType.MONGODB:
                    factory        = new DMEMongoFactory();
                    dataSource     = factory.OpenFromConnectionStr(dto.Connection, true);
                    result.IsValid = dataSource.ValidConnection();
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                LOG.Error(ex, ex.Message);
                result.Message = ex.Message;
                result.Ex      = ex;
            }

            return(result);
        }
예제 #2
0
        public Result CheckConnectionValid([FromBody] DataSourceConnDTO dto)
        {
            if (!ModelState.IsValid)
            {
                return(base.Error(ModelState, "验证失败"));
            }
            ValidResult validResult = (ValidResult)dataSourceService.CheckConnectionValid(dto);

            if (!validResult.IsValid)
            {
                if (validResult.Ex != null)
                {
                    return(base.Error(validResult.Message, "验证不通过"));
                }
                return(base.Fail(validResult.Message, "验证不通过"));
            }
            return(base.Success(null, "验证通过"));
        }