Commit 2d3b7baa authored by Baoqi's avatar Baoqi
Browse files

support Oracle Database

parent 22cd9595
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -213,12 +213,9 @@ public class DataSourceService extends BaseService{
                separator = ";";
                break;
            case MYSQL:
                separator = "&";
                break;
            case POSTGRESQL:
                separator = "&";
                break;
            case CLICKHOUSE:
            case ORACLE:
                separator = "&";
                break;
            default:
@@ -375,6 +372,10 @@ public class DataSourceService extends BaseService{
                    datasource = JSONObject.parseObject(parameter, ClickHouseDataSource.class);
                    Class.forName(Constants.COM_CLICKHOUSE_JDBC_DRIVER);
                    break;
                case ORACLE:
                    datasource = JSONObject.parseObject(parameter, OracleDataSource.class);
                    Class.forName(Constants.COM_ORACLE_JDBC_DRIVER);
                    break;
                default:
                    break;
            }
@@ -441,7 +442,10 @@ public class DataSourceService extends BaseService{
        String address = buildAddress(type, host, port);
        String jdbcUrl = address + "/" + database;
        String separator = "";
        if (Constants.MYSQL.equals(type.name()) || Constants.POSTGRESQL.equals(type.name()) || Constants.CLICKHOUSE.equals(type.name())) {
        if (Constants.MYSQL.equals(type.name())
                || Constants.POSTGRESQL.equals(type.name())
                || Constants.CLICKHOUSE.equals(type.name())
                || Constants.ORACLE.equals(type.name())) {
            separator = "&";
        } else if (Constants.HIVE.equals(type.name()) || Constants.SPARK.equals(type.name())) {
            separator = ";";
@@ -495,6 +499,9 @@ public class DataSourceService extends BaseService{
        } else if (Constants.CLICKHOUSE.equals(type.name())) {
            sb.append(Constants.JDBC_CLICKHOUSE);
            sb.append(host).append(":").append(port);
        } else if (Constants.ORACLE.equals(type.name())) {
            sb.append(Constants.JDBC_ORACLE);
            sb.append(host).append(":").append(port);
        }

        return sb.toString();
+3 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public class Constants {
    public static final String COM_MYSQL_JDBC_DRIVER = "com.mysql.jdbc.Driver";
    public static final String ORG_APACHE_HIVE_JDBC_HIVE_DRIVER = "org.apache.hive.jdbc.HiveDriver";
    public static final String COM_CLICKHOUSE_JDBC_DRIVER = "ru.yandex.clickhouse.ClickHouseDriver";
    public static final String COM_ORACLE_JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";

    /**
     * database type
@@ -92,6 +93,7 @@ public class Constants {
    public static final String HIVE = "HIVE";
    public static final String SPARK = "SPARK";
    public static final String CLICKHOUSE = "CLICKHOUSE";
    public static final String ORACLE = "ORACLE";

    /**
     * jdbc url
@@ -100,6 +102,7 @@ public class Constants {
    public static final String JDBC_POSTGRESQL = "jdbc:postgresql://";
    public static final String JDBC_HIVE_2 = "jdbc:hive2://";
    public static final String JDBC_CLICKHOUSE = "jdbc:clickhouse://";
    public static final String JDBC_ORACLE = "jdbc:oracle:thin:@//";


    public static final String ADDRESS = "address";
+5 −0
Original line number Diff line number Diff line
@@ -616,6 +616,11 @@ public final class Constants {
     */
    public static final String JDBC_CLICKHOUSE_CLASS_NAME = "ru.yandex.clickhouse.ClickHouseDriver";

    /**
     * Oracle
     */
    public static final String JDBC_ORACLE_CLASS_NAME = "oracle.jdbc.driver.OracleDriver";

    /**
     * spark params constant
     */
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ public enum DbType {
   * 2 hive
   * 3 spark
   * 4 clickhouse
   * 5 oracle
   */
  MYSQL, POSTGRESQL, HIVE, SPARK, CLICKHOUSE
  MYSQL, POSTGRESQL, HIVE, SPARK, CLICKHOUSE, ORACLE
}
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ public class DataSourceFactory {
          return JSONUtils.parseObject(parameter, SparkDataSource.class);
        case CLICKHOUSE:
          return JSONUtils.parseObject(parameter, ClickHouseDataSource.class);
        case ORACLE:
          return JSONUtils.parseObject(parameter, OracleDataSource.class);
        default:
          return null;
      }
Loading