当前位置:  技术问答>java相关

工作快完了出现了问题,,关于数据库的知识.愿意献出200分

    来源: 互联网  发布时间:2015-08-03

    本文导语:  我做的是信息发布平台,然后用orcle保存内容 因为是图片新闻,所以没有用lob型的,而是用了varchar2 最大字节设为4000 可是在实际中经常出fe:java.sql.SQLException: 数据大小超出此类型的最大值: 2830 的错误. 好象实际中只能存...

我做的是信息发布平台,然后用orcle保存内容
因为是图片新闻,所以没有用lob型的,而是用了varchar2
最大字节设为4000
可是在实际中经常出fe:java.sql.SQLException: 数据大小超出此类型的最大值: 2830
的错误.
好象实际中只能存放2000个字节
而且问题是有时候删除一个汉字竟然少3个字节
但是如果把varchar2设为8,可以存放4个字节
faint to death!!!!!!!!!!!!!!!!!!!!!
postServlet 的原代码如下:
用jspsmart是来上传图片的
import com.jspsmart.upload.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.*;
import java.sql.*;
import java.util.*;
import java.util.Date;
import java.io.*;

public class postServlet extends HttpServlet {
    private String sDBDriver = "oracle.jdbc.driver.OracleDriver";
    private String sConnStr = "jdbc:oracle:thin:@202.99.99.209:1521:zw";
    private ServletConfig config;

    final public void init(ServletConfig config) throws ServletException {
        this.config = config;
    }

    final public ServletConfig getServletConfig() {
        return config;
    }

    protected void doPost(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {

        SmartUpload mySmartUpload = new SmartUpload();
        try {
            mySmartUpload.initialize(config, req, res);
            mySmartUpload.upload();
            mySmartUpload.save(mySmartUpload.getRequest().getParameter("path"));
            String title = mySmartUpload.getRequest().getParameter("title");
            String content = mySmartUpload.getRequest().getParameter("content");
            String picturename=mySmartUpload.getRequest().getParameter("path")+"\"+ mySmartUpload.getFiles().getFile(0).getFileName();
            String postdate = mySmartUpload.getRequest().getParameter("postdate");

            Class.forName(sDBDriver);

            Connection conn = DriverManager.getConnection(sConnStr, "tedagov", "tedagov");
            String strSQL1 = "insert into tpxwb(title,content,picturename,postdate,id,status,bureau_id) values (?,?,?,?,seq_id.nextval,'publishing',22)";
            PreparedStatement prestmt = conn.prepareStatement(strSQL1);
            prestmt.setString(1, title);
            prestmt.setString(2, content);
            prestmt.setString(3, picturename);
            prestmt.setString(4, postdate);
            prestmt.executeUpdate();
            prestmt.close();
            conn.close();
        } catch (java.sql.SQLException fe) {
            System.err.println("fe:" + fe);

        } catch (java.lang.ClassNotFoundException de) {
            System.err.println("de:" + de.getMessage());
        } catch (com.jspsmart.upload.SmartUploadException e) {
            System.err.println("e:" + e.getMessage());
        }
          RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/servlet/listTitleServlet");
        dispatcher.forward(req, res);
    }

    public void destroy() {
    }

}










|
一个汉字多少个字节,
是要看你的数据库的字符集的!
好像GBK有三个字节的情况,记不太清楚了,你咨询oracle吧!

smartUpload我用过,没问题!

|
为什么不用blob clob nclob 这些这些存储大对象的数据类型来保存图片等的数据呢。

|
类型改成blob吧
很好用的

|
如果不考虑字节长度限制!
try to use NVARCHAR2

|
强烈建议用blob,因为varchar2在数据很大的时候总出怪问题

|
保存图片用blob是最好的。

|
一条记录最多只能保存8000个字节,也就是4000个汉字,一个字段最多保存4000个字节,也就是2000个汉字,看看你的一条记录的总长度吧,可能是这方面的问题,

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 紧急求救:安装FC6时候出现问题,重新引导后无法进入系统 显示显示器的水平刷新率超出工作范围
  • 无线网卡工作模式介绍以及如何设置工作模式
  • 帮朋友一问,用redhat做服务器,windows 2000 professional做工作站,可以组成工作网络吗
  • VLAN(虚拟局域网)技术工作原理介绍
  • 在工作站上装服务器版的操作系统有什么优缺点,以及把一个web服务放在工作站上有什么限制
  • libpcap工作原理及抓包主要函数介绍
  • 请问:我的eclipse已关掉了,但它的工作空间还在被占用着,这样我的eclipse无法在这里打开了,怎样关掉这个工作空间呀
  • Http cookie工作原理及其优点缺点介绍
  • 开始工作关于linux网络编程的工作,求大神推荐点这方面书籍
  • 每次的工作都是重复的,如何个脚本来简化工作?(内详)
  • 大家说在sun blade 100工作站上安装Linux的工作站版的操作系统可以么?有什么缺点呢?
  • 大家说在sun blade 100工作站上安装Linux的工作站版的操作系统可以么?有什么缺点呢? iis7站长之家
  • 如何找到linux平台下开发的工作或嵌入式工作
  • 请教各位 我将来想从事嵌入式linux方面的工作。 如果我学好ARM+linux后从事那些行业的工作更好呢? 或者进那些公司更有前途呢?那些公司更适合我呢?
  • centOS KDE桌面工作区应用
  • 协同工作流系统 Bonita
  • 工作流管理系统 Pegasus WMS
  • 如何更改网卡的工作速率?
  • linux内核学习及工作的提问
  • 工作量引擎 Imixs IX Workflow
  • Java工作流框架 Imixs Workflow
  • 工作流引擎 Zebra


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3