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》

更多文章:
rediculous什么意思(ridiculous是什么意思)
2025年5月31日 11:00
企业网站托管(为什么要做网站优化托管,企业网站托管有什么好处)
2025年8月2日 06:00
checkbox选中怎么设置(layui中的table checkbox 默认选中设置)
2026年5月14日 12:00
python的shell怎么运行文件(如何用python shell运行.py文件)
2026年9月6日 05:00
linux 模糊查找文件(Linux中在当前目录下查找某个文件)
2026年1月28日 02:45
bind函数绑定端口错误(程序关闭后马上启动,为什么导致listen socket绑定地址(bind) 失败)
2025年7月9日 13:00
external file changes sync may(使命召唤5 提示错误报告)
2026年9月7日 02:15
multisim中555定时器在哪(555芯片在multisim在哪里找)
2025年7月9日 18:30














