易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle数据库和JSP连接要注意的一些问题

作者: Dudu,  出处:IT专家网论坛, 责任编辑: 陈子琪, 
2009-09-18 13:00
  CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据:
  用ORACLE9i、oracle8、有很长的一段时间,我把用于JSP中需要注意的问题在这里写出来,仅供大家参考了。
  一、如何去处理Clob、BLOB的大类型
  CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据:
  getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象)
  getAsciiStream() 方法返回按ASCII编码的输入流(java.io.InputStream对象)
  所以如果你的数据库中有可能存储中文字符的话,就要使用前一个方法.
  现在举一个实际的例子,让我一步步学习如何使用CLOB.
  首先,创建一个含CLOB字段的表:
  create table test (id INTEGER, content clob);
  接下来, 我们通过JSP往这张表里插入一条记录,然后再获取显示它.
  插入操作:
  以上需要注意的几点是:
  1)clob类型的数据不能直接insert,要先通过empty_clob()方法给它分配一个locator(同理,blob的用empty_blob()函数分配locator).然后把它select出来(此时它当然没有数据,但结果集不是空的),得到一个Clob的对象,修改该对象的内容让它满足我们的需要,再通过update方法更新该行记录.
  2) 通过select修改含lob类型的记录时一定要锁定该行(通过for update关键字实现),否则oracle会报错.
  3) 刚插入的记录就select for update, 会出现"违反读取顺序"错误,解决办法是将自动提交功能置为false,即不允许自动提交,然后commit它,再select,就可以了. 这就是上面那段代码里//*两行的作用.
  下面,我们将刚插入的记录从数据库中读取出来并显示之:
  二、编码问题
  因为JAVA的开发者是老外,所以他们对中文的支持并不是太好,这一点让不少的我们感到很是头痛,也就是我们通过说的汉字编码问题吧,关于一些汉字编码的规范我就不多说了,我主要是谈谈在和oracle数据库连接时的一些小问题,不过这些小问题很是让人头痛的。
  1、在插入到数据库中的中文问题要转换成编码
  2、从数据库中读到中文又要转换成编码
  让我们看一个编码的JAVA代码://ECov.java
  import java.io.UnsupportedEncodingException;
  public&n


相关文档:

jsp中动态提交action与弹出确认对话框

jsp页面中根据一个checked是否被选中来弹出不同的确认对话框。
<script type="text/javascript">
    function modifyDetail() {
        var v = document.getElementById("isDelete");   
       ......

jsp:include+filter

<jsp:include flush="true" page="Index.jsp">
      <jsp:param name="username" value="<%=request.getParameter("username")%>"/>
      <jsp:param name="unit" value="<%=request.getParameter("unit")%>"/>
   </j ......

JSP 连接sqlserver 数据库

简单的连接数据库的测试代码
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  <html>
  <body>
  <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url="jdbc:m ......

JSP报表打印的一种简单解决方案

 1. 在Word或Excel中制作报表的样式。
  Excel的行高和列宽单位无法用mm或cm表示。
  需要计算。在1024*768下,1CM约为38像素。
  以此为基准,可计算并控制报表的行列位置。
  2. 在Word中设置“表格——标题行重复”。
  在Excel中设置“文件——页面设置&mdas ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号