IT猫扑网文章教程

分类分类

oracle中long类型数据如何写入大数据

2015-06-28 00:00作者:网管联盟

  我是JSP新手,简单的JSP写也差不多了。但是现在碰到一个头痛的问题,就是在提交大于2000字的文章时,ORACLE数据库就出错了。&文章内容& 我用的是LONG的类型。

  提交小于2000字的使用正常的代码:

  <%@ include file=&inc/conn.jsp&%>

  <%if ((String) session.getAttribute(&adminlogin&)==&yes&){%>

  <%

  request.setCharacterEncoding(&GB2312&);

  //文章名称

  String art_name = request.getParameter(&art_name&);

  //文章栏目ID

  String art_class_id = request.getParameter(&art_class_id&);

  //是否固顶

  String art_top = request.getParameter(&art_top&);

  if(art_top==null||art_top==&&){

  art_top = &0&;

  }

  //文章内容

  String content = request.getParameter(&conten&);

  String sql=&insert into szgs_art(art_id,art_class_id,art_name,art_conts,art_top,art_ow) values (art_id.nextval,'&+art_class_id+&','&+art_name+&','&+content+&','&+art_top+&',1)&;

  stmt.executeQuery(sql);

  out.print(&<script language='javascript'>&);

  out.print(&alert('文章增加成功!');&);

  out.print(&location.href='gsdt_add.jsp';&);

  out.print(&</script>&);

  stmt.close();

  conn.close();

  %>

  <%}else{%><%}%>

  后来在网上查了半天也没有好的解决办法。倒是找到了一段我不会用的:

  <%

  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

  Connection conn = DriverManager.getConnection(&java:oracle:thin:@srv:1521:srv&,&yp&,&yp&);

  String sql= &INSERT INTO speedfaw.news VALUES(?,?)&;

  PreparedStatement pstmt=conn.prepareStatement(sql);

  String title=request.getParameter(&title&);

  String content=request.getParameter(&content&);

  String temp = new String(content.getBytes(&ISO8859-1&),&GBK&);

  byte[] pic = temp.getBytes(&GBK&);

  ByteArrayInputStream baisss = new ByteArrayInputStream(pic);

  InputStreamReader bais = new InputStreamReader(baisss,&GBK&);

  pstmt.setString(1,title);

  pstmt.setCharacterStream(2,bais,pic.length);

  pstmt.execute();

  pstmt.close();

  conn.close();

  %>

  最后能成功添加新数据的代码为:

  LOB类型我也用了还是用不起来

  最后还是用LONG了,

  增加文章时用:<%

  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

  Connection conn = DriverManager.getConnection(&java:oracle:thin:@srv:1521:srv&,&yp&,&yp&);

  String sql= &INSERT INTO speedfaw.news VALUES(?,?)&;

  PreparedStatement pstmt=conn.prepareStatement(sql);

  String title=request.getParameter(&title&);

  String content=request.getParameter(&content&);

  String temp = new String(content.getBytes(&ISO8859-1&),&GBK&);

  byte[] pic = temp.getBytes(&GBK&);

  ByteArrayInputStream baisss = new ByteArrayInputStream(pic);

  InputStreamReader bais = new InputStreamReader(baisss,&GBK&);

  pstmt.setString(1,title);

  pstmt.setCharacterStream(2,bais,pic.length);

  pstmt.execute();

  pstmt.close();

  conn.close();

  %>

  使用成功

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消