Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jdbc驱动程序的功能_Java_Database_Jdbc_Odbc - Fatal编程技术网

Java jdbc驱动程序的功能

Java jdbc驱动程序的功能,java,database,jdbc,odbc,Java,Database,Jdbc,Odbc,为什么jdbc odbc驱动程序写为jdbc.odbc.JdbcOdbcDriver或sun.jadbc.odbc.JdbcOdbc驱动程序? 名称存储在哪个文件中? 例如 jdbcodbc驱动程序和odbc驱动程序的功能是什么?使用Class.forName()时,将使用给定的完全限定名创建一个新类。由于连接到DB,因此必须使用特定于所使用连接类型的DB驱动程序。在此之后,我假设您将使用DriverManager创建到该资源的连接。DriverManager将查找可以使用您传递给它的连接字符串

为什么jdbc odbc驱动程序写为jdbc.odbc.JdbcOdbcDriver或sun.jadbc.odbc.JdbcOdbc驱动程序? 名称存储在哪个文件中? 例如

jdbcodbc驱动程序和odbc驱动程序的功能是什么?

使用Class.forName()时,将使用给定的完全限定名创建一个新类。由于连接到DB,因此必须使用特定于所使用连接类型的DB驱动程序。在此之后,我假设您将使用DriverManager创建到该资源的连接。DriverManager将查找可以使用您传递给它的连接字符串的类

为什么jdbc odbc驱动程序写为jdbc.odbc.JdbcOdbcDriver或sun.jadbc.odbc.JdbcOdbc驱动程序

因为(大概)有两个不同的JDBC->ODBC驱动程序类,它们是各自的完全限定类名。(你的问题有点像问“为什么轮胎被称为米其林和固特异?”)

名称存储在哪个文件中

这完全取决于应用程序的设计和/或用于持久化的框架

例如,
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

在该示例中,类名硬连接到源代码中。为什么?你得问问写这封信的人

jdbcodbc驱动程序和odbc驱动程序的功能是什么

普通ODBC驱动程序提供客户端ODBC API,应用程序可以使用该API调用数据库。驱动程序通过与供应商特定的本机数据库协议和/或API接口来实现该功能。因此,驱动程序将特定于数据库的内容隐藏在独立于数据库的外观后面

一个普通的JDBC驱动程序做同样的事情,只是它提供了JDBCAPI

JDBC-ODBC驱动程序实际上是JDBC和ODBC API之间的“桥梁”。应用程序进行JDBC调用,这些调用由驱动程序映射到ODBC类。然后,该驱动程序调用一个普通ODBC驱动程序,该驱动程序与实际数据库进行通信。(如果您有一个只有ODBC驱动程序的数据库,并且希望从使用JDBC实现的应用程序中访问该数据库,则可以使用此选项。)


有关JDBC和ODBC的更多信息,请参阅相应的Wikipedia页面等。

所有优秀问题都提交给谷歌!
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")