首页编程java编程java+oracle oracle和java什么关系

java+oracle oracle和java什么关系

编程之家2026-05-231197次浏览

各位老铁们,大家好,今天由我来为大家分享java+oracle,以及oracle和java什么关系的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

java+oracle oracle和java什么关系

java要和oracle 11g连接该如何配置oracle

java连接Oracle11G:

1,找到驱动包,在oracle安装目录下我的是D:\Oracle\product\11.1.0\db_1\jdbc\lib;此目录下有ojdbc5.jar,ojdbc6.jar,如果jdk5就用5,6就用6;

2,配置驱动包的变量(我把驱动包拷出来,放在d:\java\util里面),配置后上面MYSQL的类似。

3,测试代码:

import java.sql.Connection;

import java.sql.DriverManager;

java+oracle oracle和java什么关系

import java.sql.SQLException;

import java.sql.PreparedStatement;

public class JDBCOracle{

//定义数据库驱动程序

public static final String DBDRIVER="oracle.jdbc.driver.OracleDriver";

//定义数据库的连接地址

public static final String DBURL="jdbc:oracle:thin:@localhost:端口号:数据库标识符";

//端口号后标识符可以通过在doc下运行lsnrctl status查看 default:1521

//数据库的连接用户名

public static final String DBUSER="scott";

//数据库的连接密码

public static final String DBPASS="tiger";

public static void main(String args[]) throws Exception{//所有异常抛出

Connection conn= null;//数据库连接

Class.forName(DBDRIVER);//加载驱动程序

conn= DriverManager.getConnection(DBURL,DBUSER,DBPASS);

PreparedStatement pstmt= null;

String sql="INSERT INTO person(id,name,age,birthday) VALUES(myseq.nextVal,?,?,?)";

pstmt= conn.prepareStatement(sql);

pstmt.setString(1,"tomcat");

pstmt.setInt(2,30);

pstmt.setDate(3,new java.sql.Date(new java.util.Date().getTime()));

pstmt.executeUpdate();//执行更新操作

pstmt.close();

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

}

};

怎么实现用java访问oracle数据库

这个是完全没有问题的。

先期准备:

1、两台电脑必须要联网,能够访问到

2、将oracle的驱动程序拷贝到你的java的电脑上,并设置到环境变量中。

java代码

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class DbTest{

public static void main(String[] args){

Connection conn= null;

PreparedStatement prstm= null;

ResultSet rs= null;

try{

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

String url="jdbc:oracle:thin:@ip:port:orcl";//数据库连接字符串,需要替换ip,port,orcl

String user="user";//用户名,需要替换你的数据库的用户名

String password="pswd";//密码,需要替换为对应的密码

conn= DriverManager.getConnection(url,user,password);//获取连接

prstm= conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL");

rs= prstm.executeQuery();

while(rs.next()){

System.out.println("查询结果为:"+ rs.getInt("TEST_ID"));

}

} catch(InstantiationException e){

// TODO Auto-generated catch block

e.printStackTrace();

} catch(IllegalAccessException e){

// TODO Auto-generated catch block

e.printStackTrace();

} catch(ClassNotFoundException e){

// TODO Auto-generated catch block

e.printStackTrace();

} catch(SQLException e){

// TODO Auto-generated catch block

e.printStackTrace();

} finally{

//使用完毕进行相关内容的关闭,注意相关顺序

if(rs!= null){

try{

rs.close();

} catch(SQLException e){

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(prstm!= null){

try{

prstm.close();

} catch(SQLException e){

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(conn!= null){

try{

conn.close();

} catch(SQLException e){

e.printStackTrace();

}

}

}

}

}

如何在Oracle中使用Java存储过程

通常有三种方法来创建java存储过程。

1.使用oracle的sql语句来创建:

e.g.使用create or replace and compile java source named"<name>" as

后边跟上java源程序。要求类的方法必须是public static的,才能用于存储过程。

SQL>createorreplaceandcompilejavasourcenamed"javademo1"

as

importjava.sql.*;

publicclassJavaDemo1

{

publicstaticvoidmain(String[]argv)

{

System.out.println("hello,javademo1");

}

}

/

Java已创建。

SQL>showerrorsjavasource"javademo1"

没有错误。

SQL>createorreplaceprocedurejavademo1

as

languagejavaname'JavaDemo1.main(java.lang.String[])';

/

过程已创建。

SQL>setserveroutputon

SQL>calljavademo1();

调用完成。

SQL>calldbms_java.set_output(5000);

调用完成。

SQL>calljavademo1();

hello,javademo1

调用完成。

SQL>calljavademo1();

hello,javademo1

调用完成。2.使用外部class文件来装载创建

e.g.这里既然用到了外部文件,必然要将class文件放到oracle Server的某一目录下边。

publicclassOracleJavaProc

{

publicstaticvoidmain(String[]argv)

{

System.out.println("It'saJavaOracleprocedure.");

}

}

SQL>grantcreateanydirectorytoscott;

授权成功。

SQL>connscott/tiger@iihero.oracledb

已连接。

SQL>createorreplacedirectorytest_diras'd:/oracle';

目录已创建。

SQL>createorreplacejavaclassusingbfile(test_dir,'OracleJavaProc.CLASS')

2/

Java已创建。

SQL>createorreplaceproceduretestjavaprocaslanguagejavaname'OracleJavaProc.main(java.lang.String[])';

2/

过程已创建。

SQL>calltestjavaproc();

调用完成。

SQL>executetestjavaproc;

PL/SQL过程已成功完成。

SQL>setserveroutputonsize5000

SQL>calldbms_java.set_output(5000);

调用完成。

SQL>executetestjavaproc;

It'saJavaOracleprocedure.3.我推荐的一种方法,直接使用loadjava命令远程装载并创建。

先创建一个类, e.g.

importjava.sql.*;

importoracle.jdbc.*;

publicclassOracleJavaProc{

//Addasalgradetothedatabase.

publicstaticvoidaddSalGrade(intgrade,intlosal,inthisal){

System.out.println("CreatingnewsalgradeforEMPLOYEE...");

try{

Connectionconn=

DriverManager.getConnection("jdbc:default:connection:");

Stringsql=

"INSERTINTOsalgrade"+

"(GRADE,LOSAL,HISAL)"+

"VALUES(?,?,?)";

PreparedStatementpstmt=conn.prepareStatement(sql);

pstmt.setInt(1,grade);

pstmt.setInt(2,losal);

pstmt.setInt(3,hisal);

pstmt.executeUpdate();

pstmt.close();

}

catch(SQLExceptione){

System.err.println("ERROR!AddingSalgrade:"

+e.getMessage());

}

}

}使用loadjava命令将其装载到服务器端并编译:

D:eclipse3.1workspacedbtest>loadjava-uscott/tiger@iihero.oracledb-v-resolveOr

acleJavaProc.java

arguments:'-u''scott/tiger@iihero.oracledb'-v''-resolve''OracleJavaProc.java'

creating:sourceOracleJavaProc

loading:sourceOracleJavaProc

resolving:sourceOracleJavaProc

查询一下状态:

连接到:

Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production

WiththePartitioning,OLAPandOracleDataMiningoptions

JServerRelease9.2.0.1.0-Production

SQL>SELECTobject_name,object_type,statusFROMuser_objectsWHEREobject_typeLIKE'JAVA%';

OBJECT_NAME

--------------------------------------------------------------------------------

OBJECT_TYPESTATUS

--------------------------------------------------

OracleJavaProc

JAVACLASSVALID

OracleJavaProc

JAVASOURCEVALID测试一下存储过程:

SQL>createorreplaceprocedureadd_salgrade(idnumber,losalnumber,hisalnum

ber)aslanguagejavaname'OracleJavaProc.addSalGrade(int,int,int)';

2/

过程已创建。

SQL>setserveroutputonsize2000

SQL>calldbms_java.set_output(2000);

调用完成。

SQL>executeadd_salgrade(6,10000,15000);

CreatingnewsalgradeforEMPLOYEE...

PL/SQL过程已成功完成。

SQL>select*fromsalgradewheregrade=6;

GRADELOSALHISAL

------------------------------

61000015000

关于java+oracle到此分享完毕,希望能帮助到您。

数据库备份的四种类型?oracle备份数据库中国少儿编程网,新东方少儿编程网站入口