热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle连接java的几种方法

归结来说有JDBC、ODBC-JDBC桥接 两种方法: 一、JDBC连接 Oracle的步骤 (1)装载并注册数据库的JD



归结来说有JDBC、ODBC-JDBC桥接 两种方法:

一、JDBC连接 Oracle的步骤


(1)装载并注册数据库的JDBC驱动程序




载入JDBC驱动:




Class.forName("oracle.jdbc.driver.OracleDriver");




注册JDBC驱动:




java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());




(2)建立与数据库的连接




要建立与数据库的连接,首先要创建指定数据库的URL。连接数据库的URL对象,利用DriverManager 的getConnection方法建立的。数据库URL对象与


网络资源


的统一资源定位类似,其构成格式如下:




jdbc:subProtocol:subName://hostname:port;DatabaseName=ⅹⅹⅹ




其中:




jdbc表示当前通过Java的数据库连接进行数据库访问;




subProtocol表示通过某种驱动程序支持的数据库连接机制;




subName表示在当前连接机制下的具体名称;




hostname表示


主机名


;




port表示相应的连接端口;




DatabaseName表示要连接的数据库的名称。




这里以与


Oracle数据库


的连接为例:




连接Oracle 8/8i/9i数据库(用thin模式)




url = jdbc:oracle:thin:@hostip:1521:oracleSID;




注意:hostip指主机的ip地址,oracleSID指数据库的SID。




再者确定连接数据库的用户名与密码,即user和password 的值:




user = “ⅹⅹⅹ “;




password = “ⅹⅹⅹ“;




最后使用如下语句:




Connection con=java.sql.DriverManager.getConnection(url,user,password);




(3)创建Statement对象




例如:




Statement stmt = con.createStatement();




(4)调用并执行SQL语句




例如:




String sql = “select a,b,c from table1";//table1为你所要查询的表名,a,b,c为所要查询的字段




ResultSet rs = stmt.executeQuery(sql);




(5)访问ResultSet中的记录集并从中取出记录




例如:




rs.next( );




rs.absolute(4);




String col1=rs.getString(1);




……..




(6)依次关闭ResultSet、Statement和Connection对象




例如:




rs.close();




stmt.close();




con.close();

 

二、ODBC-JDBC桥接


1



、工作原理:



     JDBC- ODBC (Open Database Connectivity,ODBC)


桥驱动


程序由


Sun





Merant


公司





合开





,



主要功能是






JDBC API








转换





ODBC API








,


然后


ODBC API








针对








商的


ODBC


驱动


程序来


访问


数据





,


即利用


JDBC- ODBC











ODBC


来存






数据源


。如下









JDBC-ODBC






用模式





oracle连接java的几种方法



 


                                                                   


 





1.1JDBC-ODBC





用模式




         JDBC- ODBC





是一个


JDBC


驱动


程序


,





ODBC


而言


,


它像是通用的





用程序


,


桥为


所有适用于


ODBC


的数据


库实现


JDBC


。它作





sun.jdbc.odbc





实现


,


其中包含一个用来


访问


ODBC


的本地





。由于


ODBC


被广泛地使用


,


所以











点是





JDBC





够访问


几乎所有的数据











支持


ODBC 2.x,





是当前大多数据


ODBC


驱动


程序支持的版本。


桥驱动


程序





Java





用程序提供了一种把


JDBC





用映射





ODBC





用的方法。因此,需要在客





端机器上安装


ODBC


驱动





JDBC-ODBC








JDBCAPI





ODBCAPI








提供了一个





梁,

















准的


JDBC





用翻








对应





ODBC





用,然后通





ODBC





把它


们发


送到


ODBC



数据源。



2





JDBC-ODBC



所用的配置



   














sun.jdbc.odbc





JDK


一起自





安装


,



无需特殊配置






Java 2 SDK


类库


中包含了用于


JDBC-ODBC








驱动


程序的





,



因此不再需要安装任何附加包就可以使用。但是









机需要通





生成数据源名


(Data Source Names , DSN)


来配置


ODBC



管理器






DSN


是一个把数据








驱动


程序、一些可

















接起来的命名配置。具体配置方法如下


(





Windows XP





境下


) :


         ( 1)


控制面板中


,


管理工具





数据源


(ODBC)->








DSN;


(如





2.1






 

 


oracle连接java的几种方法

 


 





2.1




         ( 2)





ODBC


数据源管理器中的











DSN





中添加系





数据源


(


如果没有找到





数据源的


驱动


程序





需要下





安装


)





要注意


,


一定要用系





(DSN)


数据源


,


不能用用





(DSN)


数据源


,








servlet














(DSN),


所有的


jsp





servlet


程序


,


需要








jdbc- odbc


驱动








,


都只能用系





( DSN)


数据源


,


不能用用





( DSN)



数据源。



3


、各数据





的不同配置(






解)



   


3.1 Access


           (1)


添加


->Driver do Microsoft Access(*.mdb)->



完成




oracle连接java的几种方法



           (2)





入数据源名称


yiliangdian_access


 


 


   





3


)在数据


库标签





-->


选择


,在列表中


选择


需要





接的数据





student.

 



oracle连接java的几种方法

     





4





单击














置登





名称


yiliangdian


与密





123456




















与程序中


DriverManager.getConnection("jdbc:odbc:


yiliangdian_access


","


yiliangdian


","


123456


")



一致。





oracle连接java的几种方法




      3.2 mysql


            (1)





access


中的(


1


)。




           


(2)


选择


mysql


数据源


驱动


,


如果没有





需要下





安装。


->



完成


 



oracle连接java的几种方法



         (3)





入数据源名称


yiliangdian_mysql,Server:localhost(


如果






接其它


主机,









IP),User:root,Password:123456,Databasse:student. ->OK

 



oracle连接java的几种方法



4













/**


* filename: joaccess.java


* fuction:


实现


jdbc-odbc


桥连


接方式方式




* writtenby yiliangdian @ 2008-4-18


**/


import java.sql.*;



public class joaccess {


   public static void main(String[] args) {


      //


建立和数据库的连接时要用好


Connection


接口






       Connection con;


      //




提供在基层连接上运行


SQL


语句






      Statement sql;


      //







Statement


执行了


SQL


语句以后,结果值是以结果集的方式返回的。






      ResultSet rs;


      try {


         




//jdbc-odbc


桥连接方式需要加载


jdbc-odbc


方式的驱动程序






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






     }catch(ClassNotFoundException e){


          System.out.println(""+e);


     }


     try{


           //DriverManager


类是


JDBC


的管理层,作用于用户和驱动之间。


DriverManager


类跟踪可用的驱动






            //




程序,并在数据库和相应驱动程序之间建立连接。


chenyuaccess


是建立的数据源名称,后两项是






             //




用户名,密码是建立数据源时设立的与数据库中的密码无关,该用户名密码可以为空。






             




//


不同的数据库连接只需要改变源名称,用户名和密码






         




con = DriverManager.getConnection("jdbc:odbc:yiliangdian_access","yiliangdian","123456");




            //


创建


Statement,


获取


Statement


实例,用于执行


SQL


语句






         




sql = con.createStatement();




            //


运行查询语句,返回


ResultSet


对象






         




rs = sql.executeQuery("select * from chengjibiao");






            while(rs.next()){


                    String number = rs.getString(1);


                   String name = rs.getString(2);


                   Date date = rs.getDate(3);


                   int math = rs.getInt(4);


                     System.out.println("


学号:




" + number);


                   System.out.println("


姓名:




" + name);


                   System.out.println("


生日:




" + date);


                   System.out.println("


数学:




" + math);


              }


         




con.close();






     }catch(SQLException e1)


     {


                System.out.println("sql


语句出错




:"+e1);


       }


}


}


 



参考:

http://tayueerlai01.bokee.com/500929271.html




oracle连接java的几种方法




推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
红Lisa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有