java 实现 jdbc连接oracle 数据库的java代码怎么写

java 实现 jdbc连接oracle 数据库的java代码怎么写,第1张

package comjdbctest;

import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlStatement;

public class JDBCTest {

public static void main(String[] args) throws Exception {

//1加载驱动

//ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");

//ClassforName("commysqljdbcDriver");

ClassforName("oraclejdbcdriverOracleDriver");

//2创建数据库连接对象

//Connection conn = DriverManagergetConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");

//Connection conn = DriverManagergetConnection("jdbc:mysql://localhost:3306/dbuseUnicode=true&characterEncoding=UTF-8","root","123456");

Connection conn = DriverManagergetConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","Oracle123");

//3创建数据库命令执行对象

Statement stmt = conncreateStatement();

// PreparedStatement ps = connprepareStatement("select from t_user");

//4执行数据库命令

ResultSet rs = stmtexecuteQuery("select from t_user");

// ResultSet rs = psexecuteQuery();

//5处理执行结果

while (rsnext()) {

int id = rsgetInt("id");

String username = rsgetString("username");

String password = rsgetString("password");

Systemoutprintln(id + "\t" + username + "\t" + password);

}

//6释放数据库资源

if (rs != null) {

rsclose();

}

// if (ps != null) {

// psclose();

// }

if (stmt != null) {

stmtclose();

}

if (conn != null) {

connclose();

}

}

}

这是以前写的3中数据库的链接已经测试过了。

连接Oracle数据库的步骤:

1、加载纯Java驱动程序

ClassicforName(“oraclejdbcdriverOralceDriver”);

2、与Oracle数据库建立连接

Connection con=DriverManagergetconnection(“jdbc:oracle:thin:@主机host:端口号”,”用户名”,”密码”);

环境变量CLASSPATH,

;G:\oracleexe\app\oracle\product\1120\server\jdbc\lib\ojdbc6_gjar;

在Ajava所在的目录编译、运行,就要前面有;,否则指向Ajava所在目录

PATH中添加G:\ProgramFiles\Java\jdk170_40\bin —— 记住:是添加

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的与编译器(如ProC,ProCOBOL)类似。实际上,为了使我们形象的记住SQLJ提供的功能,我们也可以直接将SQLJ改名为ProJava。

将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的版本,只需要将classesxxzip拷贝到指定的目录,不需要安装Oracle Client。在装完数据库后,该文件会在$ORACLE_HOME/jdbc/lib目录下。2.设置CLASSPATH,使其包含上面的classesxxzip

3.根据需要,拷贝oracle的其它zip文件并设置CLASSPATH

对JDBC OCI接口:

Fow Windows:

1.安装Oracle Client

2.根据jdk的版本,设置CLASSPATH,使其包含正确的classesxxzip

3.根据需要设置CLASSPATH,使其指向Oracle的其它zip文件

4.设置PATH,使其包含$ORACLE_HOME/bin目录

import javasql;

public class getMetaData {

public static void main(String[] args) {

String driverClassName = "oraclejdbcOracleDriver";

String url = "jdbc:oracle:thin:@192101101101:1521:orcl";

String password = "test";

String user= "test";

try {

ClassforName(driverClassName);

} catch (ClassNotFoundException ex) {

Systemoutprintln("加载错误!");

}

Connection conn = null;

try {

conn = DriverManagergetConnection(url, user, password);

Systemoutprintln("连接成功");

String sql = "select id_ tid,name_ tname1 ,memo remark from tc";

PreparedStatement ps=connprepareStatement(sql,ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);

ResultSet rs=psexecuteQuery();

ResultSetMetaData md = psgetMetaData(); //psgetMetaData();//

for (int i = 1; i <= mdgetColumnCount(); i++) {

Systemoutprintln("name:"+mdgetColumnName(i)+" label:"+mdgetColumnLabel(i));

}

sql = "select max(id_) tid,name_ tname1 ,memo remark from tc group by name_,memo";

ps=connprepareStatement(sql,ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);

rs=psexecuteQuery();

md = rsgetMetaData(); //psgetMetaData();//

for (int i = 1; i <= mdgetColumnCount(); i++) {

Systemoutprintln("name:"+mdgetColumnName(i)+" label:"+mdgetColumnLabel(i));

}

} catch (SQLException ex1) {

Systemoutprintln(ex1);

Systemoutprintln("失败");

}

}

}

在用jdbc连接数据库时,应该是不能指定 as sysdba的方式的。

对于你的需求,你完全可以 给 scott 授权 dba;

用 system 登录:

grant dba to scott;

这样就可以了,不过一般不建议这么做,这样scott拥有的权限太大。

以上就是关于java 实现 jdbc连接oracle 数据库的java代码怎么写全部的内容,包括:java 实现 jdbc连接oracle 数据库的java代码怎么写、求解答:JAVA利用JDBC链接ORACLE数据库出现错误。主要提示“Class.forName("oracle.jdbc.driver..."错误、JDBC连接oracle数据库问题 ClassNotFoundException等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9499063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存