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

来源:互联网 发布:excel2007分析数据库 编辑:程序博客网 时间:2024/05/07 13:03

com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
 at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
 at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1449)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:786)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:685)
 at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(SQLServerStatement.java:642)
 at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
 at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)

 

 

可能造成这样的错误原因一:

      数据库表结构定义为:varchar(20) 实际插入数据的字符长度超过了20,会引发这种错误。

 

可能造成这样的错误原因二:

     前台获取数据的编码和传入数据库的编码不一致导致乱码,因此引发这种错误

 

0 0
原创粉丝点击