jdbc连接oracle(jdbc连接oracle的方式3种哪3种)

2025-06-22 17:15:01 0

jdbc连接oracle(jdbc连接oracle的方式3种哪3种)

“jdbc连接oracle”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看jdbc连接oracle(jdbc连接oracle的方式3种哪3种)!

本文目录

jdbc连接oracle的方式3种哪3种

java与oracle的接口:
在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性。在你创建的使用ORACLE8i 数据库的应用程序中,你可以使用与JAVA有关的新特征,轻松的将程序发布到INTERNET或INTRANET上。

Methods for Using Java in ORACLE

大家都知道JAVA在跨平台开发与INTERNET开发中已经比较流行,ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使用:

JDBC:与ODBC类似, JDBC 提供了一个驱动接口使你可以在JAVA程序中访问数据库。注:JDBC驱动内嵌在数据库中虚拟机中。

SQLJ:是一个JAVA预编译器,它可以将内嵌的SQL语句转化为JAVA语句.SQLJ的使用与运行机理与其它ORACLE的与编译器(如Pro*C,Pro*COBOL)类似。实际上,为了使我们形象的记住SQLJ提供的功能,我们也可以直接将SQLJ改名为Pro*Java。

将JAVA集成到数据库中是双向的。也就是说你可以在JAVA中调用SQL与PL/SQL,也可以在SQL与PL/SQL中调用JAVA。JAVA程序可以直接通过JDBC驱动调用SQL与PL/SQL,反过来,你也可以在SQL与PL/SQL中直接调用JAVA。在数据库中,JAVA命名空间直接映射到数据库模式的命名空间中,这样可以方便JAVA的存取与调用。数据库同时提供扩展的DDL语句,通过这些语句,你可以象创建一个存储过程一样在数据中创建内嵌的JAVA程序。

Features of ORACLE JDBC Drivers

在ORACLE8i中有三种类型的JDBC驱动,他们都使用相同的 syntax, APIs, and Oracle extensions,以使JAVA代码在robust clients、Web-based Java applets, and Java stored procedures之间保持轻便灵活:三种类型如下:
1.JDBC OCI: 此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件
2.JDBC Thin: 这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信 ,因此不需要在使用JDBC Thin的客户端机器上安装客户端软件。
3.JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP’s。It uses the default/ current database session and thus requires no additional database username, password or URL.

如何配置使JAVA可以通过Oracle JDBC Drivers连接到数据库:1.安装Sun JDK.
2. 修改PATH环境变量,使其指向JDK的bin目录
3. 设置CLASSPATH环境变量,使其指向正确的JDK的lib及oracle的JDBC接口。
CLASSPATH = ".;????"
3. 运行"java –version" ,验证java的版本。

如何在不同的操作系统上根据接口类型设置客户端:
对JDBC THIN接口:
在windows与unix下的设置方法一样:
1.根据jdk的版本,只需要将classesxx.zip拷贝到指定的目录,不需要安装Oracle Client。在装完数据库后,该文件会在$ORACLE_HOME/jdbc/lib目录下。2.设置CLASSPATH,使其包含上面的classesxx.zip
3.根据需要,拷贝oracle的其它zip文件并设置CLASSPATH

对JDBC OCI接口:
Fow Windows:
1.安装Oracle Client.
2.根据jdk的版本,设置CLASSPATH,使其包含正确的classesxx.zip
3.根据需要设置CLASSPATH,使其指向Oracle的其它zip文件
4.设置PATH,使其包含$ORACLE_HOME/bin目录

如何使用JDBC连接oracle数据库

楼主您好
1.在动手先代码之前,我们先把环境配置妥善。先从安装了Oracle的数据库服务器中,找到
Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件拷贝到WEB发布服务器的某个目录。假设就直接放在C:\根目录下吧,然后把该路径添加到„系统--高级--环境变量‟
中变量名为„CLASSPATH‟的值中,如:
D:\Program Files\SQLLIB\java\db2java.zip;D:\Program
Files\SQLLIB\java\runtime.zip;c:classes12.jar;
也就是让java能够找到这个包。
2
1.注册加载驱动
驱动名:DRIVER="oracle.jdbc.driver.OracleDriver";
Class.forName("驱动类名");
3
2.获得连接
数据库地址: URL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
Connection conn = DriverManager.getConnection(数据库地址,用户名,密码);
System.out.println("连接成功");
4
3.创建Statement对象
Statement
类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的
createStatement()方法可以创建一个Statement对象。例如:Statement statament =
connection.createStatement(); 具体示例创建Statement对象
Statement statamentMySQL =connectMySQL.createStatement();

jdbc连接找不到oracle/simplefan/fanm

你要问的是jdbc连接找不到oracle/simplefan/fanm是什么原因吧,这是监听没有启动。
jdbc连接找不到oracle/simplefan/fanm,这是监听没有启动,启动方法如下:
1、使用root登陆数据库服务器。
2、切换到oracle角色。
3、先启动监听。
4、查看监听的状态(可选)。
5、使用sqlplus进入到数据库。
6、先关闭数据库实例(可选)。
7、直接启动数据库实例。
8、等待启动完成即可。

如何利用JDBC连接并操作Oracle数据库

  • S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;   

  • S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键-》 Build Path -》Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。  

  • S3、打开Oracle的各项服务,并在Oracle中建一张表。  

  • S4、编写MyEclipse与Oracle的连接程序:  

  •  view plaincopyprint?《SPAN style="FONT-SIZE: 16px"》import java.sql.Connection;    

  • import java.sql.DriverManager;    

  • import java.sql.PreparedStatement;    

  • import java.sql.ResultSet;    

  • import java.sql.Statement;    

  • import java.sql.* ;    

  • public class JDBC_Test {    

  • //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库     

  • //1521为连接的端口号     

  • private static String url="jdbc:oracle:thin:@localhost:1521:orcl";    

  • //system为登陆oracle数据库的用户名     

  • private static String user="system";    

  • //manager为用户名system的密码     

  • private static String password="manager";    

  • public static Connection conn;    

  • public static PreparedStatement ps;    

  • public static ResultSet rs;    

  • public static Statement st ;    

  • //连接数据库的方法     

  • public void getConnection(){    

  • try {    

  • //初始化驱动包     

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

  • //根据数据库连接字符,名称,密码给conn赋值     

  • conn=DriverManager.getConnection(url, user, password);    

  • } catch (Exception e) {    

  • // TODO: handle exception     

  • e.printStackTrace();    

  • }    

  • }    

  • //测试能否与oracle数据库连接成功     

  • public static void main(String args) {    

  • JDBC_Test basedao=new JDBC_Test();    

  • basedao.getConnection();    

  • if(conn==null){    

  • System.out.println("与oracle数据库连接失败!");    

  • }else{    

  • System.out.println("与oracle数据库连接成功!");    

  • }    

  • }    

  • }    

  • 《/SPAN》    

  • import java.sql.Connection;  

  • import java.sql.DriverManager;  

  • import java.sql.PreparedStatement;  

  • import java.sql.ResultSet;  

  • import java.sql.Statement;  

  • import java.sql.* ;  

  • public class JDBC_Test {  

  • //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库  

  • //1521为连接的端口号  

  • private static String url="jdbc:oracle:thin:@localhost:1521:orcl";  

  • //system为登陆oracle数据库的用户名  

  • private static String user="system";  

  • //manager为用户名system的密码  

  • private static String password="manager";  

  • public static Connection conn;  

  • public static PreparedStatement ps;  

  • public static ResultSet rs;  

  • public static Statement st ;  

  • //连接数据库的方法  

  • public void getConnection(){  

  • try {  

  • //初始化驱动包  

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

  • //根据数据库连接字符,名称,密码给conn赋值  

  • conn=DriverManager.getConnection(url, user, password);  

  • } catch (Exception e) {  

  • // TODO: handle exception  

  • e.printStackTrace();  

  • }  

  • }  

  • //测试能否与oracle数据库连接成功  

  • public static void main(String args) {  

  • JDBC_Test basedao=new JDBC_Test();  

  • basedao.getConnection();  

  • if(conn==null){  

  • System.out.println("与oracle数据库连接失败!");  

  • }else{  

  • System.out.println("与oracle数据库连接成功!");  

  • }  

  • }  

  • }  

  • S5、如果上述的连接已经建立,就可以利用JDBC中的Java API对数据库进行操作了,具体的查询,插入,删除,更新操作如下:  

  • ***隐藏网址***

  • import java.sql.Connection;    

  • import java.sql.DriverManager;    

  • import java.sql.ResultSet;    

  • import java.sql.SQLException;    

  • import java.sql.Statement;    

  • public class JDBC_Test {    

  • // 创建静态全局变量     

  • static Connection conn;    

  • static Statement st;    

  • public static void main(String args) {    

  • insert();   //插入添加记录     

  • update();   //更新记录数据     

  • delete();   //删除记录     

  • query();    //查询记录并显示     

  • }    

  • /* 插入数据记录,并输出插入的数据记录数*/    

  • public static void insert() {    

  • conn = getConnection(); // 首先要获取连接,即连接到数据库     

  • try {    

  • String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"    

  • + " VALUES (’Tom1’, 32, ’M’, ’china’,’Personnel’,’3’,’3000’)";  // 插入数据的sql语句     

  • st = (Statement) conn.createStatement();    // 创建用于执行静态sql语句的Statement对象     

  • int count = st.executeUpdate(sql);  // 执行插入操作的sql语句,并返回插入数据的个数     

  • System.out.println("向staff表中插入 " + count + " 条数据"); //输出插入操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("插入数据失败" + e.getMessage());    

  • }    

  • }    

  • /* 更新符合要求的记录,并返回更新的记录数目*/    

  • public static void update() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "update staff set wage=’2200’ where name = ’lucy’";// 更新数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数     

  • System.out.println("staff表中更新 " + count + " 条数据");      //输出更新操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("更新数据失败");    

  • }    

  • }    

  • /* 查询数据库,输出符合要求的记录的情况*/    

  • public static void query() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "select * from staff";     // 查询数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • ResultSet rs = st.executeQuery(sql);    //执行sql查询语句,返回查询数据的结果集     

  • System.out.println("最后的查询结果为:");    

  • while (rs.next()) { // 判断是否还有下一个数据     

  • // 根据字段名获取相应的值     

  • String name = rs.getString("name");    

  • int age = rs.getInt("age");    

  • String sex = rs.getString("sex");    

  • String address = rs.getString("address");    

  • String depart = rs.getString("depart");    

  • String worklen = rs.getString("worklen");    

  • String wage = rs.getString("wage");    

  • //输出查到的记录的各个字段的值     

  • System.out.println(name + " " + age + " " + sex + " " + address    

  • + " " + depart + " " + worklen + " " + wage);    

  • }    

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("查询数据失败");    

  • }    

  • }    

  • /* 删除符合要求的记录,输出情况*/    

  • public static void delete() {    

  • conn = getConnection(); //同样先要获取连接,即连接到数据库     

  • try {    

  • String sql = "delete from staff  where name = ’lili’";// 删除数据的sql语句     

  • st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

  • int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量     

  • System.out.println("staff表中删除 " + count + " 条数据\n");    //输出删除操作的处理结果     

  • conn.close();   //关闭数据库连接     

  • } catch (SQLException e) {    

  • System.out.println("删除数据失败");    

  • }    

  • }    

  • /* 获取数据库连接的函数*/    

  • public static Connection getConnection() {    

  • Connection con = null;  //创建用于连接数据库的Connection对象     

  • try {    

  • Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动     

  • con = DriverManager.getConnection(    

  • "jdbc:mysql://localhost:3306/myuser", "root", "root");// 创建数据连接    

  • } catch (Exception e) {    

  • System.out.println("数据库连接失败" + e.getMessage());    

  • }    

  • return con; //返回所建立的数据库连接     

  • }    

  • }    

  • 《/SPAN》    

关于本次jdbc连接oracle和jdbc连接oracle的方式3种哪3种的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

jdbc连接oracle(jdbc连接oracle的方式3种哪3种)

本文编辑:admin

更多文章:


2022世界杯 意大利(卡塔尔世界杯意大利被谁淘汰了)

2022世界杯 意大利(卡塔尔世界杯意大利被谁淘汰了)

本篇文章给大家谈谈2022世界杯 意大利,以及卡塔尔世界杯意大利被谁淘汰了对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录卡塔尔世界杯意大利被谁淘汰了2022世界杯克罗地亚和意大利谁赢卡塔尔世界杯意大利被谁淘汰了2022世界杯

2026年9月2日 21:00

c语言程序改错题(C语言入门程序改错题)

c语言程序改错题(C语言入门程序改错题)

其实c语言程序改错题的问题并不复杂,但是又很多的朋友都不太了解C语言入门程序改错题,因此呢,今天小编就来为大家分享c语言程序改错题的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录C语言入门程序改错题C语言改错题,

2025年10月28日 19:00

结构体和指针的(关注结构体和指针的一个问题)

结构体和指针的(关注结构体和指针的一个问题)

各位老铁们,大家好,今天由我来为大家分享结构体和指针的,以及关注结构体和指针的一个问题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录关注结构体和指

2025年10月5日 05:15

rediculous什么意思(ridiculous是什么意思)

rediculous什么意思(ridiculous是什么意思)

大家好,关于rediculous什么意思很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于ridiculous是什么意思的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2025年5月31日 11:00

企业网站托管(为什么要做网站优化托管,企业网站托管有什么好处)

企业网站托管(为什么要做网站优化托管,企业网站托管有什么好处)

大家好,关于企业网站托管很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于为什么要做网站优化托管,企业网站托管有什么好处的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2025年8月2日 06:00

checkbox选中怎么设置(layui中的table checkbox 默认选中设置)

checkbox选中怎么设置(layui中的table checkbox 默认选中设置)

各位老铁们,大家好,今天由我来为大家分享checkbox选中怎么设置,以及layui中的table checkbox 默认选中设置的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家

2026年5月14日 12:00

python的shell怎么运行文件(如何用python shell运行.py文件)

python的shell怎么运行文件(如何用python shell运行.py文件)

今天给各位分享如何用python shell运行.py文件的知识,其中也会对如何用python shell运行.py文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何用python shell运行.py文

2026年9月6日 05:00

linux 模糊查找文件(Linux中在当前目录下查找某个文件)

linux 模糊查找文件(Linux中在当前目录下查找某个文件)

大家好,如果您还对linux 模糊查找文件不太了解,没有关系,今天就由本站为大家分享linux 模糊查找文件的知识,包括Linux中在当前目录下查找某个文件的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录Linux

2026年1月28日 02:45

modify方法(C语言中modify什么意思)

modify方法(C语言中modify什么意思)

大家好,关于modify方法很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于C语言中modify什么意思的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录

2025年6月13日 04:00

steam鼠标特效(steam手柄转鼠标灵敏度设置)

steam鼠标特效(steam手柄转鼠标灵敏度设置)

本篇文章给大家谈谈steam鼠标特效,以及steam手柄转鼠标灵敏度设置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录steam手柄转鼠标灵敏度设置steam森林摇晃鼠标画面晃的很快还很糊怎么调我是steam的正版,迷失森林

2026年3月5日 13:15

r语言可以在ipad下载吗(ipad上怎么安装R语言)

r语言可以在ipad下载吗(ipad上怎么安装R语言)

大家好,关于r语言可以在ipad下载吗很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于ipad上怎么安装R语言的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本

2026年8月3日 12:00

bind函数绑定端口错误(程序关闭后马上启动,为什么导致listen socket绑定地址(bind) 失败)

bind函数绑定端口错误(程序关闭后马上启动,为什么导致listen socket绑定地址(bind) 失败)

各位老铁们好,相信很多人对bind函数绑定端口错误都不是特别的了解,因此呢,今天就来为大家分享下关于bind函数绑定端口错误以及程序关闭后马上启动,为什么导致listen socket绑定地址(bind) 失败的问题知识,还望可以帮助大家,

2025年7月9日 13:00

创建网站教学设计(中小学专题学习网站的设计)

创建网站教学设计(中小学专题学习网站的设计)

“创建网站教学设计”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看创建网站教学设计(中小学专题学习网站的设计)!本文目录中小学专题学习网站的设计高中信息技术课件:《网页制作》中小学专题学习网站的设计一、引言随着Interne

2025年12月4日 00:15

external file changes sync may(使命召唤5 提示错误报告)

external file changes sync may(使命召唤5 提示错误报告)

各位老铁们,大家好,今天由我来为大家分享external file changes sync may,以及使命召唤5 提示错误报告的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家

2026年9月7日 02:15

日历下载安装(下载时间日期安装到桌面)

日历下载安装(下载时间日期安装到桌面)

本篇文章给大家谈谈日历下载安装,以及下载时间日期安装到桌面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录下载时间日期安装到桌面智能手表如何安装日历日历的安装方法三星手机怎么下载日历苹果手机自带的日历怎么恢复下载时间日期安装到

2026年2月18日 15:15

multisim中555定时器在哪(555芯片在multisim在哪里找)

multisim中555定时器在哪(555芯片在multisim在哪里找)

大家好,关于multisim中555定时器在哪很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于555芯片在multisim在哪里找的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希

2025年7月9日 18:30

刀客论坛源码(倩女幽魂2职业攻略:109刀客经验深入解析)

刀客论坛源码(倩女幽魂2职业攻略:109刀客经验深入解析)

大家好,如果您还对刀客论坛源码不太了解,没有关系,今天就由本站为大家分享刀客论坛源码的知识,包括倩女幽魂2职业攻略:109刀客经验深入解析的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录倩女幽魂2职业攻略:109刀

2026年2月28日 10:00

数据库语句执行顺序(Sql中投影与筛选哪个先执行)

数据库语句执行顺序(Sql中投影与筛选哪个先执行)

本篇文章给大家谈谈数据库语句执行顺序,以及Sql中投影与筛选哪个先执行对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录Sql中投影与筛选哪个

2025年7月7日 13:30

echarts动态(echarts怎么实现刻度动态变化)

echarts动态(echarts怎么实现刻度动态变化)

其实echarts动态的问题并不复杂,但是又很多的朋友都不太了解echarts怎么实现刻度动态变化,因此呢,今天小编就来为大家分享echarts动态的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录echarts怎

2026年9月6日 05:45

美国众议院议长访台(美国众议院的议事程序是怎样的)

美国众议院议长访台(美国众议院的议事程序是怎样的)

大家好,今天小编来为大家解答以下的问题,关于美国众议院议长访台,美国众议院的议事程序是怎样的这个很多人还不知道,现在让我们一起来看看吧!本文目录美国众议院的议事程序是怎样的众议院议长怎么选出来的美国POLITICO网站引援知情人士消息称5名

2025年12月10日 17:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索