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());