<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import = "java.sql.*"%>
<% 
String DBDriver = "oracle.jdbc.driver.OracleDriver";
String DBurl = "jdbc:oracle:thin:@127.0.0.1:1521:db";
String user = "system";
String passwd = "manager";try{
Class.forName(DBDriver);
Connection conn = DriverManager.getConnection(DBurl,user,passwd);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql = "select OPE_ID,OPE_NAME,OPE_TYPE,OPE_POPEDOM from OPERATOR_CODE";
ResultSet rs = stmt.executeQuery(sql);
//PreparedStatement ps = conn.prepareStatement("select node_name,node_no,father_no,menu_step from sys_stru",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//ResultSet rs = ps.executeQuery();
while (rs.next()){
out.println(rs.getString(2)+".");
}
}catch(Exception e){
System.out.println(e.getMessage());
}
%>指定ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY属性后从ORACLE取出的数据前十条为十六进制,写成BEAN取出的数据也一样,十条后的数据都是正常的。我的环境是oracle 8.1.6 ,jboss 3.2.2

解决方案 »

  1.   

    数据本来是正常的,插入时为英语或中文,取出来被转换为十六进制,形如:0xE6B58BE8AF95,第十条以后的数据确是正常的。如果取掉ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY参数,所有的数据都能正常显示。不知这样是否说清楚。
      

  2.   

    oracle 字符集是 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
      

  3.   

    在JSP页面里面写数据库操作,晕啦,
      

  4.   

    8.1.6的JDBC驱动有BUG,换了个高版本的,问题解决。