我能夠連接到配置單元數據庫並執行查詢,而無需加載org.apache.hive.jdbc.HiveDriver?這怎麼發生的? 我們知道,如果我們想要首先連接到任何數據庫,我們需要使用class.forname(「完全限定的驅動程序類名稱」)加載驅動程序。但在我的情況下,我能夠連接到配置單元db而不寫上述代碼。下面是我的代碼。 Connection conn = DriverManager.getConnection(url,username,password);能夠連接到配置單元數據庫,而無需加載HiveDriver類
0
A
回答
0
「我們知道如果我們要連接到任何數據庫,首先我們需要加載驅動程序」 - 好了,你一定要更新知識......
摘錄Oracle官方/ Sun文檔:
在要獲得連接,您首先必須通過調用方法
Class.forName
...
來初始化您的JDBC驅動程序。在您的類路徑中找到的任何JDBC 4.0驅動程序都會自動加載 。 (但是,您必須手動加載 之前,JDBC 4.0任何驅動程序與方法Class.forName
)
作爲其初始化的一部分,DriverManager類會嘗試 負載在
jdbc.drivers
系統 屬性中引用的驅動程序類。這允許用戶定製由 他們的應用程序
...
類DriverManager方法 的getConnection和getDrivers已得到增強,支持Java標準版服務提供商機制使用的JDBC驅動程序。 JDBC 4.0驅動程序 必須包含文件META-INF/services/java.sql.Driver
。此文件 包含JDBC驅動程序的實現名稱 java.sql.Driver
...
應用程序不再需要明文加載 使用Class.forName()加載JDBC驅動程序。這 目前加載使用Class.forName(JDBC驅動程序)現有項目將繼續 工作無需修改
相關問題
- 1. Tableau加載配置單元元數據
- 2. 無法將數據從Apache配置單元加載到ElasticSearch -
- 3. 無法從VBA連接到數據庫,但能夠從Access進行連接
- 4. Spring JDBC無法連接到postgres數據庫,但普通的JDBC能夠連接
- 5. 無法連接到MySQL數據庫,但能夠連接到數據庫服務器
- 6. Qt SQL - 配置連接到數據庫
- 7. Rails.application.database_configuration:無法加載數據庫配置
- 8. 連接到MySQL數據庫加載libmysql.dll
- 9. 由於恢復數據庫而無法連接到數據庫
- 10. 使用PHP配置文件連接到數據庫,而不是PDO連接線
- 11. 單元測試適配器無法連接到數據源
- 12. 無法從配置單元加載hbase表中的數據
- 13. 從R連接到配置單元
- 14. MOSS 2007中央管理 - 無法連接到配置數據庫
- 15. 無法連接到配置數據庫h2 DB
- 16. 無法連接到配置數據庫中SP2010
- 17. 「無法連接到SQL Server數據庫」 - ASP.NET配置
- 18. 的NodeJS連接到服務器,而無需重新加載
- 19. Oracle數據庫連接在ADO.net(無法能夠參考加入OracleClient的)
- 20. 錯誤通過java程序連接到配置單元數據庫
- 21. 數據庫連接錯誤(3):無法連接到數據庫',
- 22. 將配置單元用作Metastore時無法看到數據庫
- 23. 從主機加載數據到Docker配置單元容器
- 24. 問題雖然將數據加載到配置單元中
- 25. Oozie將數據加載到配置單元的工作流程
- 26. 將數據從HDFS加載到配置單元
- 27. 如何將目錄數據加載到配置單元
- 28. 將數據從遠程服務器加載到配置單元
- 29. 使用spark sql將json數據加載到配置單元中
- 30. 將XML數據加載到配置單元表中時出錯
感謝參孫吵醒我。已經有三年沒有涉及JDBC了。 :) –