Oracle JDBC 没响应,是不是BUG?

问题描述

在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);}}

解决方案

如果数据库连接没有报错的话,试试先关闭取消自动提交,conn.setAutoCommit(false) ; ,在最后手动提交,conn.commit();
解决方案二:
Class.forName() 没有
解决方案三:
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();}}
解决方案四:
http://wyf289283641.iteye.com/blog/1911274
解决方案五:
问题可能出在Connection没有提交到数据库,而且你DriverManager 也没有初始化啊~ 一般用Class.formane("oracle.jdbc.driver.OracleDriver")

时间: 2024-09-20 05:30:30

Oracle JDBC 没响应,是不是BUG?的相关文章

Oracle JDBC版本区别(转)

oracle\product\11.2.0\dbhome_1\jdbc\lib ojdbc5.jar ojdbc5dms.jar ojdbc5dms_g.jar ojdbc5_g.jar ojdbc6.jar ojdbc6dms.jar ojdbc6dms_g.jar ojdbc6_g.jar simplefan.jar   在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.j

tomcat启动报错-Cannot load JDBC driver class 'oracle.jdbc.OracleDriver'

问题描述 Cannot load JDBC driver class 'oracle.jdbc.OracleDriver' 以前写的代码没有问题,现在在新的机器上部署就报错: 2013-10-8 22:36:17 org.apache.catalina.core.StandardHostDeployer install 信息: Installing web application at context path /NetCTOSS_V3 from URL file:E:Tomcat 5.0web

SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.OracleDriver'

问题描述 org.apache.tomcat.dbcp.dbcp.SQLNestedException:CannotloadJDBCdriverclass'oracle.jdbc.OracleDriver'org.springframework.jdbc.CannotGetJdbcConnectionException:CouldnotgetJDBCConnection;nestedexceptionisorg.apache.tomcat.dbcp.dbcp.SQLNestedException

【中亦安图】小机上运行Oracle需要注意的进程调度bug(1)

第一章 技术人生系列 · 我和数据中心的故事--第一期 第一期:技术人生系列 · 我和数据中心的故事(第一期)小机上运行Oracle需要注意的进程调度bug. 2016-01-11 小y 中亦安图   前 言   小y这个名字,是笔者临时想的一个笔名,其实没有什么特殊的含义,就暂且用他来代表我们这些为各个数据中心奉献自己青春的一群默默无闻的IT人吧!   小y今天要和大家分享的是一个疑难杂症的分析过程.如果大家有耐心读完这个案例,一定会或多或少有些收获,也就没浪费小y的一片苦心.   具体来说是

如何在你的Linux机器上安装运行Oracle jdbc:thin with java (OAS) DBA

oracle  如何在你的Linux机器上安装运行Oracle 开始行动 在RedHat上安装Oracle可以是相当轻而易举的,但要是完全跟着Oracle公司的文档走就未必那么容易了 .最快的捷径是Tom Bisset的主页:http://jordan.fortwayne.com/oracle. 如果您看了Tom的主页,那么您会注意到他漏了JDBC的安装.如果您准备使用JDBC(对于跨平台的Oracle应用十分方便),只需在安装屏幕要求您选择组件(components)时,加上该选项即可.当然,

win8.1系统点击”更改电脑设置“选项没响应怎么解决?

  win8.1系统点击"更改电脑设置"选项没响应怎么解决? 方法一:使用命令修检测.并修复系统文件 1.把鼠标移动到屏幕左下角,单击右键(或者按"win"+"x"组合键),选择"命令提示符(管理员)" ,输入:"sfc /scannow",回车; 2.该命令将检测系统文件,并可以在一定程序上修复损坏的系统文件.检测完成后,根据命令提示,您可能需要重新启动计算机. 方法二:干净启动 三方软件的干扰也可能会导

win7输入路由器管理地址没响应怎么回事

win7输入路由器管理地址没响应怎么回事   解决方法如下: 1.正常的能打开的路由器的管理地址应该是192.168.1.1也就是说不需要你在这个地址前再带上www,如果你错误的在浏览器的地址栏输入www.192.168.1.1这样的地址,那么是不能正确的进入路由器的管理地址的; 2.切记,这个网址是错的!记住,没有WWW!可能还有的人输入http192.168.1.1那么你就少输入了://这个符号,所以最简单的输入方法是把浏览器地址栏内容清空,再输入http://192.168.1.1 回车.

Win8.1系统点击”更改电脑设置“选项没响应怎么办

  方法一:使用命令修检测.并修复系统文件 1.把鼠标移动到屏幕左下角,单击右键(或者按"win"+"x"组合键),选择"命令提示符(管理员)" ,输入:"sfc /scannow",回车; 2.该命令将检测系统文件,并可以在一定程序上修复损坏的系统文件.检测完成后,根据命令提示,您可能需要重新启动计算机. 方法二:干净启动 三方软件的干扰也可能会导致类似问题的发生,可以尝试干净启动.(干净启动方法参阅 Win8.1正式版如何

Win7电脑连接小米盒子后没响应怎么回事?

  Win7电脑连接小米盒子后没响应怎么回事?           具体方法如下: 1.在win7电脑中安装或[91助手]软件,打开软件,会自动检测小米盒子,并自动安装驱动; 2.在电视上切换到小米盒子界面,进入[设置]界面下找到"系统设置"; 3.进入"账户与安全"; 4.找到"ADB调试",将该选项默认设置[拒绝]修改为[允许]; 5.然后按提示将电脑连接小米盒子的数据线拔掉,过一会重新接上,在弹出的框中勾选[一律允许使用这台计算机进行调试]