Java开发中使用Oracle数据库的注意事项

Java开发中使用Oracle数据库的注意事项,第1张

很多朋友在Java开发中 使用Oracle数据库的时候 经常会碰到有ORA : maximum open cursors exceeded 的错误 实际上 这个错误的原因 主要还是代码问题引起的 ora : maximum open cursors exceeded 表示已经达到一个进程打开的最大游标数 这样的错误很容易出现在Java代码中的主要原因是 Java代码在执行conn createStatement()和conn prepareStatement()的时候 实际上都是相当与在数据库中打开了一个cursor 尤其是 如果你的createStatement和prepareStatement是在一个循环里面的话 就会非常容易出现这个问题 因为游标一直在不停的打开 而且没有关闭 一般来说 我们在写Java代码的时候 createStatement和prepareStatement都应该要放在循环外面 而且使用了这些Statment后 及时关闭 最好是在执行了一次executeQuery executeUpdate等之后 如果不需要使用结果集(ResultSet)的数据 就马上将Statment关闭 对于出现ORA 错误这种情况 单纯的加大open_cursors并不是好办法 那只是治标不治本 实际上 代码中的隐患并没有解除 而且 绝大部分情况下 open_cursors只需要设置一个比较小的值 就足够使用了 除非有非常特别的要求 lishixinzhi/Article/program/Oracle/201311/18963

这个端口号使用的是数据库默认的,一般都是这个,sql

server的是1433

oracle的是1521

可以改数据库的端口号的。你理解了socket就知道端口号的意思了。

首先在oracle文件下找到jdbc文件,里面的lib文件下有个class12zip

在eclipse里新建个项目,建好后在左边右击那个项目图标,选择属性(最下面的),里面有个java build path,点进去,找到add external jars按键,点一下,把那个class12zip加载进来,然后可以开始写代码了。

我的代码如下:

import javasql;

public class connect {

/

@param args

/

public static void main(String[] args) {

// TODO Auto-generated method stub

try{

ClassforName("oraclejdbcdriverOracleDriver");

}catch(ClassNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

try{

String url="jdbc:oracle:thin:@服务器ip地址:端口号:数据库名字";

String user="用户名";

String password="密码";

String str="INSERT INTO ZZZ_2 VALUES('041110018','JHDK')";

con = javasqlDriverManagergetConnection(url,user,password);

// 创建状态

stmt = concreateStatement();

// 执行SQL语句,返回结果集

//int rowcount = stmtexecuteUpdate(str);

int j = stmtexecuteUpdate("update ZZZ_2 set NAME='dbt' where ID=21");

int k = stmtexecuteUpdate("delete from ZZZ_2 where ID=41110020");

rs = stmtexecuteQuery("SELECT FROM ZZZ_2");

// 对结果集进行处理

while (rsnext()) {

int id = rsgetInt("ID");

String name = rsgetString("NAME");

//Integer age = rsgetObject("age") == null null : rsgetInt("age");

Systemoutprintln(id + ": " + name);

} }catch(SQLException e){

eprintStackTrace();}

// 释放资源

finally{

try{

rsclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

try{

stmtclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

try{

conclose();

}catch(SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

}

以上就是关于Java开发中使用Oracle数据库的注意事项全部的内容,包括:Java开发中使用Oracle数据库的注意事项、java 连接oracle数据库的问题、如何使用java对oracle数据库进行增删查改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存