Java代碼工具箱之連結Oracle

來源:互聯網
上載者:User

標籤:cut   .exe   oid   資源   資料   而不是   prepare   資料庫名   rom   

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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.