zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    笔记本硬盘接口SATA, PATA
    dB和dBm的区别
    SQL Server 存储过程分页方案比较
    SQL Server 输出参数OUTPUT
    安装iis5.1时找不到zClientm.exe的解决方法
    mac os x 10.5.8不通本网段
    SQL Server 存储过程分页大全(2005,2000)
    硬盘保修查询网站明细清单希捷硬盘保修查询西数硬盘保修查
    如何让SWT的窗口置顶(总在最上面)?
    ASP.NET(三) Web开发——常用服务器控件
  • 原文地址:https://www.cnblogs.com/muyun/p/6884452.html
Copyright © 2011-2022 走看看