簡體   English   中英

連接到單個類中的兩個不同數據庫

[英]Connection to two different databases in single class

我需要從代碼連接到兩個不同的數據庫。 首先是Hive數據庫,另一個是Oracle。 為此,我需要加載兩個不同的驅動程序,一個用於Hive,另一個用於Oracle。 這是我所做的:

        Class.forName("org.apache.hive.jdbc.HiveDriver");
        System.out.println("Driver Found");
        Connection connection = DriverManager.getConnection(
                "jdbc:hive2://10.8.219.36:10000/default", "lab", "lab");
        System.out.println("Connection established");

        System.out.println("------------------");

        Class.forName("oracle.jdbc.driver.OracleDriver");
        System.out.println("Driver Found");
        Connection connection1 = DriverManager.getConnection(
                "jdbc:oracle:thin:@97.253.16.117:1521:NATTDB11",
                "CDR_LOADER", "CDR_LOADER");
        System.out.println("Connection established");

當我運行上面的代碼時,這就是錯誤:

Driver Found
Connection established
------------------
Driver Found
java.lang.IllegalArgumentException: Bad URL format
at org.apache.hive.jdbc.Utils.parseURL(Utils.java:185)
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:84)
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Demo.main(Demo.java:17)

我該怎么做呢? 先感謝您。

嘗試使用以下命令顯式注冊兩個驅動程序:

DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
DriverManager.registerDriver (new org.apache.hive.jdbc.HiveDriver());

然后測試兩種連接類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM