2014-01-08 210 views
0

我读到,为了填充插入查询的二进制值,您需要创建一个PreparedStatement,然后使用setBytes()API将字节数组设置为二进制参数。如何在jdbc中设置longvarbinary值?

我的问题是,当我这样做时,我得到“数据异常:字符串数据,右截断”。

我读到这个,如果我们填充一个大于声明大小的值的大小,这可能会出现。但是在这里我使用了一个非常小的字节[](“s”.getbytes())。

我也试过setBinaryStream(),但结果相同!

我也尝试设置空值。我仍然有同样的错误。

回答

0

VARBINARY或LONGVARBINARY列的长度必须足以接受您要插入的数据。您的CREATE TABLE语句可以包含VARBINARY作为列的类型,每个数据项最多允许16MB。

如果使用BINARY作为类型,则表示只允许使用一个字节。