首页 > 代码库 > Java代码工具箱之链接Oracle
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 finally29 {30 try31 {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 }
Java代码工具箱之链接Oracle
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。