我能够连接到配置单元数据库并对其执行查询,而不需要加载org.apache.hive.jdbc.hivedRiver?这是怎么发生的?我们知道,如果要连接到任何数据库,首先需要使用class.forName(“完全限定的驱动程序类名”)加载驱动程序。但在我的例子中,我能够连接到配置单元数据库,而不需要编写上面的代码。下面是我的代码。Connection conn=DriverManager.getConnection(url、用户名、密码);
“我们知道,如果我们想要连接到任何数据库,首先需要加载驱动程序”--好吧,你应该更新这个知识。
Oracle/Sun官方文档摘录:
在以前版本的JDBC中,要获得连接,首先必须通过调用class.forName
...
方法来初始化JDBC驱动程序,所有在类路径中找到的JDBC 4.0驱动程序都将自动加载。(但是,您必须使用class.forName
方法手动加载JDBC 4.0之前的任何驱动程序)
作为初始化的一部分,DriverManager类将尝试加载jdbc.drivers
系统属性中引用的驱动程序类。这允许用户自定义其应用程序使用的JDBC驱动程序
...
DriverManager方法getConnection和getDrivers已得到增强,以支持Java Standard Edition Service Provider机制。JDBC 4.0驱动程序必须包含文件meta-inf/services/java.sql.driver
。此文件包含java.sql.driver的JDBC驱动程序实现的名称
...
应用程序不再需要使用class.forName()明确加载JDBC驱动程序。当前使用class.forName()加载JDBC驱动程序的现有程序将继续工作而不进行修改
因此,我在cmd中连接到Oracle 11g,如下所示 但是,当我在Oracle SQL Developer中键入相同的用户名和密码时,它不起作用。我有uname和pwd,在连接名中放什么? 这就是我得到的,当我输入一个连接名称和我的uname和PWD OracleSQLDeveloper
我正在尝试连接Hive数据库与我的Java代码。我搜索了很多关于Hive_Client的信息,但是有很多错误和依赖,有人能帮我找到代码和库文件吗。
“无法加载db驱动程序类:com.microsoft.sqlserver.jdbc.sqlserverdriver” 有什么想法如何构造连接字符串吗?考虑servername=servername。
我不知道我应该给的用户名和密码是什么。我必须在某个配置文件中添加凭据(用户名和密码)吗?
提前感谢您的帮助!