com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。

rjxianson 2012-05-24 04:11:19
com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)
at mf.util.Sql.dbhandle(Sql.java:45)
at mf.loginandregister.user.addOne(user.java:213)
at MFservlet.registerServlet.doPost(registerServlet.java:22)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
各位大侠帮帮忙!
...全文
5508 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
likj_sh 2014-02-27
  • 打赏
  • 举报
回复
十分有用,谢谢分享
风中_飘泊 2013-09-27
  • 打赏
  • 举报
回复
我的是长度问题,没有进行校验,谢谢大神
蝈蝈114 2013-04-12
  • 打赏
  • 举报
回复
五楼,那个编码的怎么弄得?我的也是这个问题!求解啊!
zhenyanbina 2013-01-06
  • 打赏
  • 举报
回复
长度超过数据库中定义的长度
nielong0610 2012-10-05
  • 打赏
  • 举报
回复
第一次练习数据库,没注意这方面。谢谢二楼
fengbaotong123 2012-06-06
  • 打赏
  • 举报
回复
JavaMail邮件收发的代码吗?最好是完整的!在这谢谢大家了!!!!
fengbaotong123 2012-06-06
  • 打赏
  • 举报
回复
rjxianson 2012-05-25
  • 打赏
  • 举报
回复
新手不知道怎么给分!
rjxianson 2012-05-25
  • 打赏
  • 举报
回复
<tr>
<td width="90" align="right" height="15">性别</td>
<td width="391" align="left"><input type="radio"
checked="checked" name="sex" value="男" />男 <input type="radio"
name="sex" value="女" />女</td>
</tr>
谢了,二楼,大小是足够的!!
找到错误了,谢谢大家!
根本原因在于:界面的编码,和传入数据库是的编码不一致。
由于从界面获取中文是乱码,在传入数据库时没有改编码,所以出错了。
阿甘1976 2012-05-24
  • 打赏
  • 举报
回复
二楼正解 路过
哟小菇凉 2012-05-24
  • 打赏
  • 举报
回复
二楼正解 路过
s478853630 2012-05-24
  • 打赏
  • 举报
回复
一个常见的问题:
数据库表结构为:varchar(20)

实际上你的字符长度超过了20,就会引发这种错误


解决方案:
把varchar(20)改大,200够了吧
或者在页面限制长度:
<input type="text" id="txtName" maxlength="20"/>
LamarChen 2012-05-24
  • 打赏
  • 举报
回复
放代码撒。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧