Unverified Commit e571de28 authored by 乔占卫's avatar 乔占卫 Committed by GitHub
Browse files

Merge pull request #55 from Baoqi/bwu_oracle

add oracle & ms sql server support
parents 22cd9595 9ed962a3
Loading
Loading
Loading
Loading
+23 −6
Original line number Diff line number Diff line
@@ -210,15 +210,13 @@ public class DataSourceService extends BaseService{

        switch (dataSource.getType()) {
            case HIVE:
            case SQLSERVER:
                separator = ";";
                break;
            case MYSQL:
                separator = "&";
                break;
            case POSTGRESQL:
                separator = "&";
                break;
            case CLICKHOUSE:
            case ORACLE:
                separator = "&";
                break;
            default:
@@ -375,6 +373,14 @@ 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;
                case SQLSERVER:
                    datasource = JSONObject.parseObject(parameter, SQLServerDataSource.class);
                    Class.forName(Constants.COM_SQLSERVER_JDBC_DRIVER);
                    break;
                default:
                    break;
            }
@@ -441,9 +447,14 @@ 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())) {
        } else if (Constants.HIVE.equals(type.name())
                || Constants.SPARK.equals(type.name())
                || Constants.SQLSERVER.equals(type.name())) {
            separator = ";";
        }

@@ -495,6 +506,12 @@ 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);
        } else if (Constants.SQLSERVER.equals(type.name())) {
            sb.append(Constants.JDBC_SQLSERVER);
            sb.append(host).append(":").append(port);
        }

        return sb.toString();
+6 −0
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ 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";
    public static final String COM_SQLSERVER_JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

    /**
     * database type
@@ -92,6 +94,8 @@ 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";
    public static final String SQLSERVER = "SQLSERVER";

    /**
     * jdbc url
@@ -100,6 +104,8 @@ 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 JDBC_SQLSERVER = "jdbc:sqlserver://";


    public static final String ADDRESS = "address";
+11 −0
Original line number Diff line number Diff line
@@ -386,6 +386,17 @@
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>com.microsoft.sqlserver</groupId>
			<artifactId>mssql-jdbc</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>com.microsoft.azure</artifactId>
					<groupId>azure-keyvault</groupId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>


+10 −0
Original line number Diff line number Diff line
@@ -616,6 +616,16 @@ 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";

    /**
     * Oracle
     */
    public static final String JDBC_SQLSERVER_CLASS_NAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

    /**
     * spark params constant
     */
+3 −1
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ public enum DbType {
   * 2 hive
   * 3 spark
   * 4 clickhouse
   * 5 oracle
   * 6 sqlserver
   */
  MYSQL, POSTGRESQL, HIVE, SPARK, CLICKHOUSE
  MYSQL, POSTGRESQL, HIVE, SPARK, CLICKHOUSE, ORACLE, SQLSERVER
}
Loading