我能夠連接到配置單元數據庫並執行查詢,而無需加載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. Spring JDBC無法連接到postgres數據庫,但普通的JDBC能夠連接
- 4. 無法從VBA連接到數據庫,但能夠從Access進行連接
- 5. 無法連接到MySQL數據庫,但能夠連接到數據庫服務器
- 6. 連接到MySQL數據庫加載libmysql.dll
- 7. 由於恢復數據庫而無法連接到數據庫
- 8. 使用PHP配置文件連接到數據庫,而不是PDO連接線
- 9. 無法連接到配置數據庫h2 DB
- 10. MOSS 2007中央管理 - 無法連接到配置數據庫
- 11. 無法連接到配置數據庫中SP2010
- 12. Oracle數據庫連接在ADO.net(無法能夠參考加入OracleClient的)
- 13. 錯誤通過java程序連接到配置單元數據庫
- 14. 將配置單元用作Metastore時無法看到數據庫
- 15. 從配置單元加載數據到Spanner谷歌分貝
- 16. 數據加載到配置單元陣列列
- 17. 使用spark sql將json數據加載到配置單元中
- 18. 問題雖然將數據加載到配置單元中
- 19. 將數據從遠程服務器加載到配置單元
- 20. 如何將目錄數據加載到配置單元
- 21. 將XML數據加載到配置單元表中時出錯
- 22. Slick 3配置ProvisionException連接數據庫
- 23. 無法將數據加載到配置單元中的分區表
- 24. 重載數據庫連接類?
- 25. Python:無需任何外部庫連接到數據庫
- 26. 我希望登錄類能夠訪問不同類的數據庫連接
- 27. 是否有可能連接到SFTP存儲庫而無需額外的庫?
- 28. 如何在將數據加載到配置單元時合併數據?
- 29. 如何更改uitableview中的高度單元而無需重新加載數據
- 30. 無法將配置單元表加載到Spark中
感謝參孫吵醒我。已經有三年沒有涉及JDBC了。 :) –