亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Oracle JDBC 沒響應,是不是BUG?

Oracle JDBC 沒響應,是不是BUG?

牛魔王的故事 2019-03-14 14:15:35
在Java 中執行下面SQL語句沒有響應,DEBUG 無法跟蹤代碼,但此語句在SQL DEVELOPER 執行沒問題,在Java代碼中執行其他 SQL 語句基本也沒問題。insert into T1 (ID, VALUE) select ID, VALUE from T2import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import oracle.jdbc.driver.OracleDriver;public class TestOracleUtil {public static void main(String[] args) throws SQLException {     String sql = "insert into T1 (ID, VALUE) select ID, VALUE from T2";     update(getConnection(), sql); } public static Connection getConnection() {     new OracleDriver();     String serverName = "192.168.1.3";     String portNumber = "1521";     String sid = "ORCL";     String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":"             + sid;     String username = "test";     String password = "test";     try {         Connection conn = DriverManager.getConnection(url, username,                 password);         return conn;     } catch (SQLException e) {         e.printStackTrace();         return null;     } } static void update(Connection conn, String sql) throws SQLException{     Statement smt = conn.createStatement();     smt.executeUpdate(sql); }}
查看完整描述

4 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

如果數據庫連接沒有報錯的話,試試先關閉取消自動提交,[code="java"]conn.setAutoCommit(false) ; [/code],在最后手動提交,conn.commit();


查看完整回答
反對 回復 2019-04-30
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

問題可能出在Connection沒有提交到數據庫,而且你DriverManager 也沒有初始化啊~ 
一般用Class.formane("oracle.jdbc.driver.OracleDriver")

查看完整回答
反對 回復 2019-04-30
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

try {
Class.forName(sqldriver);
c = DriverManager.getConnection(connURL);
return c;
} catch (Exception e) {
e.printStackTrace();
if (c != null)
try {
c.close();
} catch (SQLException e1) {
}
}
return c;
}

public void closeConnection(Connection c, Statement s, ResultSet r) {
    try {
        if (r != null)
            r.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        if (s != null)
            s.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        if (c != null)
            c.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}


查看完整回答
反對 回復 2019-04-30
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

Class.forName() 沒有


查看完整回答
反對 回復 2019-04-30
  • 4 回答
  • 0 關注
  • 582 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號