Java代码工具箱之链接Oracle

1. 需要oracle的 odbc  jar包

2. 代码

3. 注意:ps对象和statement对象最好用完立即释放,尤其是读写数据库代码出现在 for 循环语句中时。

否则会出现游标不够的情况,超出游标最大数等游标错误!

4. 案例:我在将Excel导入到Oracle数据库中时,由于搜索网上代码,未深刻领会。在遍历Excel的每一行数据时,都执行

pre = con.prepareStatement(sql) 。直到Excel中的5000行数据遍历完后才 执行   pre.close(); ,结果报错,出现

超出游标错误!后来更正为在 for 循环内部,执行完  pre.executeQuery(); 紧接着,立即执行  pre.close(); (当然关闭前还要有

个 pre 判空的判断语句)。更正后,一次顺利导入5000条数据。

 1 public void testOracle()
 2 {
 3     Connection con = null;// 创建一个数据库连接
 4     PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
 5     ResultSet result = null;// 创建一个结果集对象
 6     try
 7     {
 8         Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
 9         System.out.println("开始尝试连接数据库!");
10         String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
11         String user = "system";// 用户名,系统默认的账户名
12         String password = "147";// 你安装时选设置的密码
13         con = DriverManager.getConnection(url, user, password);// 获取连接
14         System.out.println("连接成功!");
15         String sql = "select * from student where name=?";// 预编译语句,“?”代表参数
16         pre = con.prepareStatement(sql);// 实例化预编译语句
17         pre.setString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
18         result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
19         while (result.next())
20             // 当结果集不为空时
21             System.out.println("学号:" + result.getInt("id") + "姓名:"
22                     + result.getString("name"));
23     }
24     catch (Exception e)
25     {
26         e.printStackTrace();
27     }
28     finally
29     {
30         try
31         {
32             // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
33             // 注意关闭的顺序,最后使用的最先关闭
34             if (result != null)
35                 result.close();
36             if (pre != null)
37                 pre.close();
38             if (con != null)
39                 con.close();
40             System.out.println("数据库连接已关闭!");
41         }
42         catch (Exception e)
43         {
44             e.printStackTrace();
45         }
46     }
47 }
时间: 2024-11-08 20:41:22

Java代码工具箱之链接Oracle的相关文章

JDBC——Java代码与数据库链接的桥梁

想要通过java代码实现访问数据库,并对数据库进行操作,需要以下几个步骤: 一.首先我们需要一个 .jar  包.访问不同数据库,需要的jar包也不相同 Mysql数据库jar包下载地址:http://wangpan.baidu.com/disk/home?errno=0&errmsg=Auth%20Login%20Sucess&stoken=62559320e9b55b03d45ec682d851d5598036a2dc1f8d5d1cd0d330d955fa84deff136d062a

Java代码工具箱之超出游标最大数

1. Java大量写入oracle时容易出现此错.经过此错,也触动自己要深刻理解 java 的 prepareStatement 等对象,及数据库的连接与释放. 2. 原因:经常会出现在 for 循环中进行数据库写入操作. 3. 代码: 案例:我在将Excel导入到Oracle数据库中时,由于搜索网上代码,未深刻领会.在遍历Excel的每一行数据时,都执行 pre = con.prepareStatement(sql) .直到Excel中的5000行数据遍历完后才 执行   pre.close(

Java代码工具箱之解析Excel

1. 使用开源工具 jxl.jar 2. 功能:解析常规Excel.xls格式测试可行,xlsx未测试.Excel测试格式为常规类似table这种简单布局文件.第一行为标题,后面行为内容.代码 可正确解析内容,会自动丢掉第一行(标题). 3. 示例代码(自行导入必要库) 1 public static void readExcel() throws BiffException, IOException{ 2 //创建一个list 用来存储读取的内容 3 List list = new Array

Java代码工具箱之控制台输出重定向_控制台输出到文件

1. 情形:有时候控制台输出太多,在MyEclipse显示不全. 2. 说明:本代码只会重定向 system.out 的内容, error及其它不受代码影响.其它应该类似. 1 //自定导入必要库 2 //然后往 Main 的 最开始一塞即可 3 //文件是否会自动新建,未测试 4 5 try { 6 System.setOut(new PrintStream(new FileOutputStream("D:\\systemOut.txt"))); 7 } catch (FileNot

java代码获取jdbc链接properties

public static String getDirPath() { Resource resource = null; Properties props = null; String driverClass = null; try { resource = new ClassPathResource("/data.properties"); props = PropertiesLoaderUtils.loadProperties(resource); driverClass= (S

简单地java链接oracle数据库

简单地模拟了银行账户之间相互转账的功能,该项目在java代码中分为了4个包 1.调用数据库的存储过程 import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import entity.UserInfo; import util.DBUtil;

Oracle03——游标、异常、存储过程、存储函数、触发器和Java代码访问Oracle对象

作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7476717.html 1.游标(光标)Cursor 在写java程序中有集合的概念,那么在pl/sql中也会用到多条记录,这时候我们就要用到游标,游标可以存储查询返回的多条数据. 语法: CURSOR  游标名  [ (参数名  数据类型,参数名 数据类型,...)]  IS  SELECT   语句; 例如:cursor c1 is select ename from emp; 游标

Java代码实现excel数据导入到Oracle

1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.Bi

Java代码实现向Oracle数据库中导入已备份的数据库文件

今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.IOException; /** * Java代码实现向Oracle数据库中导入已备份的数据库文件 * * @author:Gaohuanjie */ public class OracleImportDatabase { /** * 向Oracle数据库中导入已备份的数据库文件 * * @author:Gaohuanjie * @param userName 进入数据库所