Denodo customWrapper 日期时间字段在环境中不起作用

我正在使用下面的代码的 Denodo 自定义包装器,在 timestamp_field 中,timestamptz_field 列变为空白。


@Override

    public CustomWrapperSchemaParameter[] getSchemaParameters(

            Map<String, String> inputValues) {


        return new CustomWrapperSchemaParameter[] {


                new CustomWrapperSchemaParameter("date_field", java.sql.Types.DATE)

                , new CustomWrapperSchemaParameter("timestamp_field", java.sql.Types.TIMESTAMP)

                , new CustomWrapperSchemaParameter("timestamptz_field", java.sql.Types.TIMESTAMP_WITH_TIMEZONE)

                , new CustomWrapperSchemaParameter("time_field", java.sql.Types.TIME)

        };

    }

    @Override

    public void run(CustomWrapperConditionHolder condition,List<CustomWrapperFieldExpression> projectedFields,CustomWrapperResult result, Map<String,String> inputValues)

              throws CustomWrapperException {

        String strDatewithTime="2019-08-29 20:46:46.166666700";

        // TODO Auto-generated method stub

        int index = strDatewithTime.indexOf(".");

        if(index>0)

            {

            strDatewithTime= strDatewithTime.substring(0, index);

            }


        DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

         result.addRow(new Object[]{

                    LocalDate.parse("2017-10-11"),

                    LocalDateTime.parse(strDatewithTime,FORMATTER),

                    OffsetDateTime.parse("2015-03-08T01:59:59+01:00"),

                    LocalTime.parse("21:15:45")},

                    projectedFields);

    }

  1. 为了使其正常工作,我需要更改任何设置吗?

  2. 都是硬编码,我不认为有任何代码问题。下面的链接提到了此代码https://community.denodo.com/docs/html/browse/7.0/vdp/developer/developing_extensions/developing_custom_wrappers/dealing_with_datetime_and_interval_types


隔江千里
浏览 42回答 1
1回答

胡说叔叔

我已经找到问题并解决了。本地 VDP 客户端需要一些补丁。服务器 vdp 已安装一些附加补丁。代码是正确的。安装这些补丁后,数据可以正常显示。我通过查看 vdp admin 每个选项来解决这个问题。感谢大家的支持。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java