This is an automated email from the ASF dual-hosted git repository.

kerwin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 57f000e  [BUG] Repair JDBC connection of Oracle (#7883)
57f000e is described below

commit 57f000ed1f4cc42d1c7c08b7a08d808cbc2c738f
Author: X&Z <[email protected]>
AuthorDate: Sat Jan 8 20:45:27 2022 +0800

    [BUG] Repair JDBC connection of Oracle (#7883)
---
 .../api/datasource/oracle/OracleDataSourceProcessor.java       |  4 +++-
 .../api/datasource/oracle/OracleDataSourceProcessorTest.java   | 10 +++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessor.java
 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessor.java
index 7a6d1c3..44c4ab8 100644
--- 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessor.java
+++ 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessor.java
@@ -65,14 +65,16 @@ public class OracleDataSourceProcessor extends 
AbstractDataSourceProcessor {
     public BaseConnectionParam createConnectionParams(BaseDataSourceParamDTO 
datasourceParam) {
         OracleDataSourceParamDTO oracleParam = (OracleDataSourceParamDTO) 
datasourceParam;
         String address;
+        String jdbcUrl;
         if (DbConnectType.ORACLE_SID.equals(oracleParam.getConnectType())) {
             address = String.format("%s%s:%s",
                     Constants.JDBC_ORACLE_SID, oracleParam.getHost(), 
oracleParam.getPort());
+            jdbcUrl = address + ":" + oracleParam.getDatabase();
         } else {
             address = String.format("%s%s:%s",
                     Constants.JDBC_ORACLE_SERVICE_NAME, oracleParam.getHost(), 
oracleParam.getPort());
+            jdbcUrl = address + "/" + oracleParam.getDatabase();
         }
-        String jdbcUrl = address + "/" + oracleParam.getDatabase();
 
         OracleConnectionParam oracleConnectionParam = new 
OracleConnectionParam();
         oracleConnectionParam.setUser(oracleParam.getUserName());
diff --git 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessorTest.java
 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessorTest.java
index 76e063b..a997e87 100644
--- 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessorTest.java
+++ 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/test/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/oracle/OracleDataSourceProcessorTest.java
@@ -61,13 +61,13 @@ public class OracleDataSourceProcessorTest {
                 .createConnectionParams(oracleDatasourceParamDTO);
         Assert.assertNotNull(connectionParams);
         Assert.assertEquals("jdbc:oracle:thin:@localhost:3308", 
connectionParams.getAddress());
-        Assert.assertEquals("jdbc:oracle:thin:@localhost:3308/default", 
connectionParams.getJdbcUrl());
+        Assert.assertEquals("jdbc:oracle:thin:@localhost:3308:default", 
connectionParams.getJdbcUrl());
     }
 
     @Test
     public void testCreateConnectionParams2() {
         String connectionJson = 
"{\"user\":\"root\",\"password\":\"123456\",\"address\":\"jdbc:oracle:thin:@localhost:3308\""
-                + 
",\"database\":\"default\",\"jdbcUrl\":\"jdbc:oracle:thin:@localhost:3308/default\",\"connectType\":\"ORACLE_SID\"}";
+                + 
",\"database\":\"default\",\"jdbcUrl\":\"jdbc:oracle:thin:@localhost:3308:default\",\"connectType\":\"ORACLE_SID\"}";
         OracleConnectionParam connectionParams = (OracleConnectionParam) 
oracleDatasourceProcessor
                 .createConnectionParams(connectionJson);
         Assert.assertNotNull(connectionParams);
@@ -82,9 +82,9 @@ public class OracleDataSourceProcessorTest {
     @Test
     public void testGetJdbcUrl() {
         OracleConnectionParam oracleConnectionParam = new 
OracleConnectionParam();
-        
oracleConnectionParam.setJdbcUrl("jdbc:oracle:thin:@localhost:3308/default");
+        
oracleConnectionParam.setJdbcUrl("jdbc:oracle:thin:@localhost:3308:default");
         oracleConnectionParam.setOther("other=other");
-        
Assert.assertEquals("jdbc:oracle:thin:@localhost:3308/default?other=other",
+        
Assert.assertEquals("jdbc:oracle:thin:@localhost:3308:default?other=other",
                 oracleDatasourceProcessor.getJdbcUrl(oracleConnectionParam));
     }
 
@@ -97,4 +97,4 @@ public class OracleDataSourceProcessorTest {
     public void testGetValidationQuery() {
         Assert.assertEquals(Constants.ORACLE_VALIDATION_QUERY, 
oracleDatasourceProcessor.getValidationQuery());
     }
-}
\ No newline at end of file
+}

Reply via email to