Denodo customWrapper 日期时间字段在环境中不起作用
Denodo customWrapper Datetime field is not working in environment
我正在使用以下代码的 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);
}
- 要使其正常工作,我需要更改任何设置吗?
- 都是硬编码,我觉得没有什么代码问题。此代码在下面提到 link https://community.denodo.com/docs/html/browse/7.0/vdp/developer/developing_extensions/developing_custom_wrappers/dealing_with_datetime_and_interval_types
我已经找到问题并解决了。本地 VDP 客户端需要一些补丁。服务器 vdp 已经安装了一些额外的补丁。代码是正确的。
安装这些补丁后,数据正常出现。我通过查看 vdp admin 每个选项来弄清楚。感谢大家的支持。
我正在使用以下代码的 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);
}
- 要使其正常工作,我需要更改任何设置吗?
- 都是硬编码,我觉得没有什么代码问题。此代码在下面提到 link https://community.denodo.com/docs/html/browse/7.0/vdp/developer/developing_extensions/developing_custom_wrappers/dealing_with_datetime_and_interval_types
我已经找到问题并解决了。本地 VDP 客户端需要一些补丁。服务器 vdp 已经安装了一些额外的补丁。代码是正确的。 安装这些补丁后,数据正常出现。我通过查看 vdp admin 每个选项来弄清楚。感谢大家的支持。