搜索
首页 电脑/网络 软件 系统软件

java通过JDBC访问Oracle的2个异常情况是什么?

java通过JDBC访问Oracle的2个异常情况是什么?

全部回答

2017-07-27

44 0
    1。 连接非常慢, 连接成功后执行select操作出现异常:Exception in thread "main" java。sql。SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], [0], [], [], [], [], [], []解决: 使用oracle安装目录下的jdbc\lib\classes12。
    jar后正常。2。 使用PreparedStatement的setString(i, s)时出现:可以参考帖子:http://community。csdn。net/Expert/topic/3936/3936672。
  xml?temp=。2879145java。sql。  SQLException: 数据大小超出此类型的最大值: 3000后面那个值大小不定, 感觉与s大小有关表结构create table test(name char(32),addr varchar(3000) //varchar2也一样)解决办法: 采用setCharacterStream-------------------------------------------------------import java。
    sql。*;import java。io。*;import java。util。*;/*** oracle测试* @author kingfish * @version 1。
  0 */ public class TestOra {public static void testORACLE() { String url = "jdbc:oracle:thin:@localhost:1521:oradb";String username = "system";String password = "manager";Connection conn = null;try {Class。
    forName( "oracle。jdbc。driver。OracleDriver");conn = DriverManager。getConnection(url, username, password); } catch (Exception e) { e。
    printStackTrace(); return; } char[] carray = new char[1000];Arrays。fill(carray, ´我´);String s = new String(carray); try { PreparedStatement pst = conn。
    prepareStatement( "insert into test(name,addr) values(?,?)");pst。setString(1, "kingfish");pst。
  setCharacterStream(2,new InputStreamReader(new ByteArrayInputStream(s。  getBytes())), s。
  length()); //pst。setString(2,s); //用此句则异常pst。execute();Statement st = conn。createStatement();ResultSet r = st。
  executeQuery("SELECT * from test");while (r。  next()) {s = r。getString (2);System。out。
  println( "len=" + s。length());System。out。println( "value=" + s);} r。close();st。close();conn。  close(); } catch (Exception e) { e。
  printStackTrace(); } } /*** 测试* @param args String[] */ public static void main(String[] args) { testORACLE(); } }。
    。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报