- 浏览: 118676 次
- 性别:
- 来自: 福建
文章分类
最新评论
-
wenbing2610:
其实用Struts实现图片上传比用Servlet实现容易多了。 ...
Struts2文件上传深入FileUploadInterceptor -
i_feng:
public class uploadImageAction ...
Struts2文件上传深入FileUploadInterceptor -
wenbing2610:
...
ognl.MethodFailedException
Oracle的数据库驱动有两种,oci和thin,没有用过oci,这里用的是thin。 问题描述: 有一张表MESSAGE,里面有个字段是content varchar2(4000)。 如果直接用Statement来更新这个字段,是不会用任何问题的。因为Statement的原理就是直接将整个sql语句发到数据库执行。 但是,如果用PreparedStatement的setString()方法来设置这个字段,就有问题了,当设置的字符串长度大于2000时,就会报错:”java.sql.SQLException: 数据大小超出此类型的最大值“。 问题分析: 这些天学着用iBatis,就遇到了上面的这个问题。因为如果在iBatis中使用内联参数(#做占位符),底层实现的时候就是用的PreparedStatement来实现的,所以就遇到了上面的问题。 至于为什么用PreparedStatement会出先这个问题
(1)Using the JDBC thin driver (2)Using binds (not defines) (3)Using SQL CHAR datatypes (4)Connecting to a database whose character set is neither ASCII (US7ASCII) nor ISO Latin1 (WE8ISO8859P1) When the database character set is neither US7ASCII nor WE8ISO8859P1, the JDBC thin driver converts Java UTF-16 characters to UTF-8 encoding bytes for SQL CHAR binds. The UTF-8 encoding bytes are then transferred to the database, and the database converts the UTF-8 encoding bytes to the database character set encoding.”
原来是JDBC在转换过程中对字符串的长度做了限制。这个限制和数据库中字段的实际长度没有关系。 所以,setCharacterStream()方法可以逃过字符转换限制,也就成为了解决此问题的方案之一。 而JDBC对转换字符长度的限制是为了转换过程中的数据扩展。
根据实际测试结果,在ZHS16GBK字符集和thin驱动下,2000-4000长度的varchar字段都只能插入1333个字节(约666个汉字)。
1、使用setCharacterStream()方法;
2、使用OCI驱动连接Oracle数据库。
发表评论
-
CSS样式表的overflow属性
2015-01-02 19:22 28一、滚动条样式overflow ... -
jrebel运用
2014-07-13 22:00 1194JRebel热部署 ... -
JPA执行原生SQL截断Char类型问题
2014-05-24 21:39 1187在JPA的API中执行原生 ... -
JPA基本数据类型映射
2014-05-24 21:06 3907/** ... -
spring定时器配置
2014-03-18 21:36 695创建测试类: ... -
The Struts dispatcher cannot be found
2013-11-03 18:48 655运行环境:struts2环境中访 ... -
JasperException
2013-09-15 20:41 1017JasperException异常: ... -
equal symbol expected
2013-09-15 20:08 1197equal symbol ... -
Hibernate主键生成器
2013-09-12 21:11 791... -
Criterion和Criteria
2013-09-08 16:00 1953Hibernate Criter ... -
getHibernateTemplate用法
2013-09-08 15:02 586HibernateTemplate提供的方法 ... -
JS中页面跳转
2013-09-08 14:01 657<html><head><t ... -
GridPanel详解
2013-03-10 10:45 10421、Ext.grid.GridPanel ... -
tomcat内存溢出
2013-03-04 20:26 726在使用Java程序从数据库中查询大量的数据或 ... -
History Object
2013-01-07 21:06 758history 对象是window 对象的另一个子 ... -
Write to programmer
2012-12-29 20:16 860很多的java初级程序员对自己没有一个明确的方 ... -
ognl.MethodFailedException
2012-10-03 21:23 2060图片上传错误提示的部分源码: ... -
EL语言
2012-09-27 22:08 896EL的前世今生: ... -
JSTL标签的使用
2012-09-27 22:00 816JSP 标准标记库( Standard Tag Library ... -
使用IBATIS防止sql注入
2012-08-26 21:17 1617对于ibaits参数引用可以使用#和$两 ...
相关推荐
### 服务器出现java.sql.SQLException No suitable driver found for 的解析与解决方案 #### 问题背景 在进行Servlet开发过程中,尤其是在尝试连接数据库时,遇到了一个常见的异常:“java.sql.SQLException: No ...
在Java编程中,`java.sql.SQLException: 结果集已耗尽` 是一个常见的错误提示,通常出现在处理数据库查询结果集时。这个异常表明程序试图访问已经没有数据的结果集中下一行,即所有行已经被遍历完,尝试访问超出范围...
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK ……
标题中的“Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装”是一个典型的错误信息,表明在尝试使用Java数据库连接(JDBC)驱动程序访问数据库时...
在Oracle数据库操作中,我们经常会遇到与`java.sql.SQLException`相关的异常。这个异常通常是Java应用程序在尝试与Oracle数据库进行交互时出现的问题。本篇将详细探讨`java.sql.SQLException`的各种常见类型及其解决...
java.sql.SQLException: null, message from server: “Host ‘223.72.41.7’ is not allowed to connect to this MySQL server” 客户端访问时报错: 解决方法: 1,登陆服务器 mysql> use mysql; //用mysql ...
当你遇到"java.sql.SQLException: No suitable driver"这样的错误时,通常意味着你的Java环境无法找到匹配的数据库驱动。这个问题的解决方法是确保已经正确地引入了MySQL JDBC驱动(也称为Connector/J)。 MySQL ...
本文主要介绍了关于MySQL存储表情报错:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’的相关解决方法,分享出供大家参考学习,下面话不多说了,来一起看看详细的介绍: ...
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 提示的是用户访问被拒绝,原因是密码不正确,但是我们明明配置的是正确的密码,原因就在yml中: spring: datasource: ...
import java.sql.SQLException; ``` 3. **注册驱动**:在使用MySQL驱动前,需要通过`Class.forName()`方法注册驱动。尽管在较新的JDBC版本中这个步骤可以省略,但为了兼容性,很多示例代码仍然包含它: ```java ...
import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; /** * @author Administrator * */ public class sqlServer { String DBDriver=...
Q: I am working with ... I am using updateBinaryStream method of resultset to update the BLOB field but it is failing after giving following exception java.sql.SQLException: Internal Error: Unable to
主要给大家介绍了关于MySQL存储表情时报错:java.sql.SQLException: Incorrect string value: 'xF0x9Fx92xA9x0Dx0A...'的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
当你尝试连接到MySQL数据库时,可能会遇到一个特定的异常:“java.sql.SQLException: The server time zone value ‘?й???????’ is unrecognized or represents more than one time zone”。这个错误表明服务器...
java.sql.SQLException: Operation not allowed after ResultSet closed java.sql.SQLException: QueryRunner requires a DataSource to be invoked in this way, or a Connection should be passed in
import java.sql.SQLException; ``` 2. 注册JDBC驱动并建立连接: ```java String url = "jdbc:kingbase://hostname:port/databasename"; String username = "your_username"; String password = "your_password"; ...
它实现了Java Database Connectivity (JDBC) API,使得开发者可以使用Java语言来操作Oracle数据库,执行SQL语句,进行数据查询、插入、更新和删除等操作。Oracle JDBC驱动分为不同版本,包括 Thin、OCI、JDBC-ODBC ...
import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.JOptionPane; import ...