关于JDBC 和 ODBC的问题!(50分)

  • 主题发起人 主题发起人 lishaoming
  • 开始时间 开始时间
L

lishaoming

Unregistered / Unconfirmed
GUEST, unregistred user!
在JAVA中和数据库关联,是通过JDBC来实现的。但JDBC的实现又有几种方式
1。是通过ODBC建立数据源,再通过JDBC桥来在程序中调用。
2。直接通过JDBC和数据库关联。
我知道的就这么多,我现在相知道和不明白的是:
1。用ODBC建好数据源后,再通过JDBC桥来实现,那用不用在装别的驱动程序。
还是JDK中就有可以直接使用。
2。那么比如我想和一个ACCESS数据库关联,有几种方式?分别需要装什么驱动
程序!另外都有什么不同优点和缺点。哪个最容易简便。
 
在JAVA中和数据库关联,是通过JDBC来实现的。但JDBC的实现又有两种方式:
1.JDBC driver( JDBC驱动)
2.JDBC-ODBC bridge( JDBC-ODBC桥)
根据我的理解:
1.一般只有Acess数据库采用JDBC-ODBC桥方式,书上都是这么写的(需要手动配置ODBC,
很麻烦),不过也可以不用配置ODBC,直接加载Microsoft Access Driver (*.mdb),看你
自己了。
2.采用JDBC驱动方式的话都要自己找驱动,oracle自带,SQL Server可下载,具体用法参见:
http://www.chinaunix.net/bbsjh/14/627.html
 
那我现在安装了JDK是否只能用JDBC-ODBC的桥来连接数据库,
你说的直接加载ACCESS数据库是怎么加载的,是否他JAVA对ACCESS的
支持比较好,可以灵活使用!欢迎大家指教!
 
用JDBC来连接数据库有很两种方式,
1.JDBC:ODBC 桥(需要手动配置ODBC数据源)2.直接连接方式.
第二种方式有很多好处,它可以独立于依赖于系统的odbc数据源,存储数据的database
可以自由地移动。
Access是最简单的,SQL Server中小型,而oracle则是针对大型网站的数据库。
他们都有上述的两种连接方式,只是Access用1.的比较多,而后面两者用2.比较多而已,
而且需要有专门驱动。
 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:test";
//使用jdbc数据源方式连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"","");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=F://Jb//BeanServletTest//defaultroot//dbtest.mdb";
//直接连接方式,连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"","");

 
简单的讲,jdbc是java的标准规范,所谓jdbc-odbc桥,也不过是
jdbc的一个具体实现而已。我们知道,java中的jdbc是完全基于接口
定义的,每个数据库厂商会提供针对自己的数据库产品的jdbc实现,
而odbc是微软提供的一个开放接口,因此在jdk标准包中自带了一个
针对odbc接口的实现而已。一般来讲,我们在实际应用中都是使用
由数据库厂商提供的或者第三方提供的jdbc实现而很少使用odbc桥接
接口。因为odbc只能基于windows平台,从而限制了java程序的平台
移植能力,而且,odbc方式本身已经是一种针对特定数据库产品接口
的再封装,因此,通过jdbc-odbc桥这种方式将会导致一定的效率问题,
当然,有不少人在使用access数据库时只能选择odbc桥,因为没有基于
access的jdbc实现。总的来说,jdbc-odbc桥只是针对初学者,尤其是
没有其他编程语言经验的人的一个简单入门方式而已。
jdbc的接口方式分为4种,一般称为Type1到Type4,具体的介绍,可以
到这里看http://java.sun.com/products/jdbc/index.html。
 
谢谢! 小猪,Yueer,Lnboy三位,经你们这一说我对JDBC比原来
清楚多了!虽然问题可以结束了,但便于大家交流,我在等几天!
希望对那些和我一样的人有个帮助!!
 
多人接受答案了。
 
后退
顶部