2014-02-21 95 views
0

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

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 

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

+0

http://en.wikipedia.org/wiki/JDBC_driver –

+0

所有优秀的问题谷歌! – Gimby

回答

0

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

1

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

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

在哪个文件名存储?

完全取决于您的应用程序的设计和/或其用于持久性的框架。

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

在这个例子中,类名被硬连接到源代码中。为什么?你需要询问写下它的人!

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

一个普通的ODBC驱动程序提供了一个应用程序可以用来调用数据库的客户端ODBC API。驱动程序通过与供应商特定的本地数据库协议和/或API进行交互来实现该功能。因此,驱动程序是隐藏数据库特定的东西在数据库独立后面外观

一个普通的JDBC驱动程序做同样的事情除了它提供JDBC API的

JDBC-ODBC驱动程序实际上是JDBC和ODBC API之间的“桥梁”。该应用程序生成由驱动程序映射到ODBC类的JDBC调用。然后这个驱动程序调用一个简单的ODBC驱动程序,与实际的数据库交谈(如果您有一个只有ODBC驱动程序的数据库,并且您想从使用JDBC实现的应用程序访问它,则可以使用它。)

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