From 3c58ffbac33527086765d67aea65b161dfc7011e Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 30 Jun 2021 14:01:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81oracle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/oracle/OracleQueryProvider.java | 7 ++++--- .../io/dataease/service/dataset/ExtractDataService.java | 2 -- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java index bf8c0e4dca..819b6634ec 100644 --- a/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/oracle/OracleQueryProvider.java @@ -26,6 +26,7 @@ public class OracleQueryProvider extends QueryProvider { public Integer transFieldType(String field) { switch (field) { case "CHAR": + case "VARCHAR2": case "VARCHAR": case "TEXT": case "TINYTEXT": @@ -69,7 +70,7 @@ public class OracleQueryProvider extends QueryProvider { @Override public String createSQLPreview(String sql, String orderBy) { - return "SELECT * FROM (" + sqlFix(sql) + ") AS tmp ORDER BY null " + " LIMIT 0,1000"; + return "SELECT * FROM (" + sqlFix(sql) + ") AS tmp " + " WHERE rownum <= 1000"; } @Override @@ -102,7 +103,7 @@ public class OracleQueryProvider extends QueryProvider { } return stringBuilder.toString(); }).toArray(String[]::new); - return MessageFormat.format("SELECT {0} FROM {1} ORDER BY null", StringUtils.join(array, ","), table); + return MessageFormat.format("SELECT {0} FROM {1} ", StringUtils.join(array, ","), table); } @Override @@ -112,7 +113,7 @@ public class OracleQueryProvider extends QueryProvider { @Override public String createQuerySQLWithPage(String table, List fields, Integer page, Integer pageSize, Integer realSize) { - return createQuerySQL(table, fields) + " LIMIT " + (page - 1) * pageSize + "," + realSize; + return createQuerySQL(table, fields) + " where rownum <= " + page * realSize + " minus " + createQuerySQL(table, fields) + " where rownum <= " + (page - 1) * pageSize; } @Override 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 d5a39f7b38..deea4de077 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -649,8 +649,6 @@ public class ExtractDataService { break; case oracle: OracleConfigration oracleConfigration = new Gson().fromJson(datasource.getConfiguration(), OracleConfigration.class); - System.out.println(new Gson().toJson(oracleConfigration)); - System.out.println(oracleConfigration.getConnectionType().equalsIgnoreCase("serviceName")); if(oracleConfigration.getConnectionType().equalsIgnoreCase("serviceName")){ String database = "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ORACLE_HOSTNAME)(PORT = ORACLE_PORT))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORACLE_SERVICE_NAME )))".replace("ORACLE_HOSTNAME", oracleConfigration.getHost()).replace("ORACLE_PORT", oracleConfigration.getPort().toString()).replace("ORACLE_SERVICE_NAME", oracleConfigration.getDataBase()); dataMeta = new DatabaseMeta("db", "ORACLE", "Native", "", database, "-1", oracleConfigration.getUsername(), oracleConfigration.getPassword());