From 6678a9b5a7294a58d866d13cc5a3f510dde413d1 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 27 Jul 2021 17:55:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8A=BD=E5=8F=96oracle=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E6=9C=89=E5=A4=9A=E4=BD=99=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/ExtractDataService.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 5e187bfed3..1f214b8d54 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -782,8 +782,8 @@ public class ExtractDataService { break; } + outputStep = outputStep(outFile, datasetTableFields, datasource); - outputStep = outputStep(outFile); hi1 = new TransHopMeta(inputStep, udjcStep); hi2 = new TransHopMeta(udjcStep, outputStep); transMeta.addTransHop(hi1); @@ -863,14 +863,27 @@ public class ExtractDataService { return fromStep; } - private StepMeta outputStep(String dorisOutputTable) { + private StepMeta outputStep(String dorisOutputTable, List datasetTableFields, Datasource datasource) { TextFileOutputMeta textFileOutputMeta = new TextFileOutputMeta(); textFileOutputMeta.setEncoding("UTF-8"); textFileOutputMeta.setHeaderEnabled(false); textFileOutputMeta.setFilename(root_path + dorisOutputTable); textFileOutputMeta.setSeparator(separator); textFileOutputMeta.setExtension(extention); - textFileOutputMeta.setOutputFields(new TextFileField[0]); + + if (datasource.getType().equalsIgnoreCase(DatasourceTypes.oracle.name())) { + TextFileField[] outputFields = new TextFileField[datasetTableFields.size()]; + for(int i=0;i< datasetTableFields.size();i++){ + TextFileField textFileField = new TextFileField(); + textFileField.setName(datasetTableFields.get(i).getOriginName()); + textFileField.setType("String"); + outputFields[i] = textFileField; + } + textFileOutputMeta.setOutputFields(outputFields); + }else { + textFileOutputMeta.setOutputFields(new TextFileField[0]); + } + StepMeta outputStep = new StepMeta("TextFileOutput", "TextFileOutput", textFileOutputMeta); outputStep.setLocation(600, 100); outputStep.setDraw(true); @@ -879,8 +892,6 @@ public class ExtractDataService { private StepMeta udjc(List datasetTableFields, DatasourceTypes datasourceType) { String needToChangeColumnType = ""; - - UserDefinedJavaClassMeta userDefinedJavaClassMeta = new UserDefinedJavaClassMeta(); List fields = new ArrayList<>(); UserDefinedJavaClassMeta.FieldInfo fieldInfo = new UserDefinedJavaClassMeta.FieldInfo("dataease_uuid", ValueMetaInterface.TYPE_STRING, -1, -1);