提交 3c58ffba authored 作者: taojinlong's avatar taojinlong

feat: 支持oracle

上级 b57e71ce
...@@ -26,6 +26,7 @@ public class OracleQueryProvider extends QueryProvider { ...@@ -26,6 +26,7 @@ public class OracleQueryProvider extends QueryProvider {
public Integer transFieldType(String field) { public Integer transFieldType(String field) {
switch (field) { switch (field) {
case "CHAR": case "CHAR":
case "VARCHAR2":
case "VARCHAR": case "VARCHAR":
case "TEXT": case "TEXT":
case "TINYTEXT": case "TINYTEXT":
...@@ -69,7 +70,7 @@ public class OracleQueryProvider extends QueryProvider { ...@@ -69,7 +70,7 @@ public class OracleQueryProvider extends QueryProvider {
@Override @Override
public String createSQLPreview(String sql, String orderBy) { 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 @Override
...@@ -102,7 +103,7 @@ public class OracleQueryProvider extends QueryProvider { ...@@ -102,7 +103,7 @@ public class OracleQueryProvider extends QueryProvider {
} }
return stringBuilder.toString(); return stringBuilder.toString();
}).toArray(String[]::new); }).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 @Override
...@@ -112,7 +113,7 @@ public class OracleQueryProvider extends QueryProvider { ...@@ -112,7 +113,7 @@ public class OracleQueryProvider extends QueryProvider {
@Override @Override
public String createQuerySQLWithPage(String table, List<DatasetTableField> fields, Integer page, Integer pageSize, Integer realSize) { public String createQuerySQLWithPage(String table, List<DatasetTableField> 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 @Override
......
...@@ -649,8 +649,6 @@ public class ExtractDataService { ...@@ -649,8 +649,6 @@ public class ExtractDataService {
break; break;
case oracle: case oracle:
OracleConfigration oracleConfigration = new Gson().fromJson(datasource.getConfiguration(), OracleConfigration.class); 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")){ 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()); 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()); dataMeta = new DatabaseMeta("db", "ORACLE", "Native", "", database, "-1", oracleConfigration.getUsername(), oracleConfigration.getPassword());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论