尝试将大小为2MB的文件存储为BLOB数据时,数据库会抛出异常

时间:2013-02-19 10:56:59

标签: teradata

在我的一个应用程序中,我试图通过使用JDBC连接将一个文件(文件大小为2MB)保存到teradata数据库表中作为BLOB数据。但每次我得到一个例外如下

com.teradata.jdbc.jdbc_4.util.JDBCException:[Teradata JDBC Driver] [TeraJDBC 14.00.00.01] [错误1186] [SQLState HY000]参数2长度为2215538字节,大于最大值可以设置64000个字节。

请帮我解决这个问题。

谢谢, Sourav

2 个答案:

答案 0 :(得分:0)

尝试将blob列设置得更大,或者只使用系统默认值,即2097088000 btw。

这来自Teradata用户文档:SQL数据类型和文字第7章 "为BLOB列分配的字节数。最大数量 字节数为2097088000,如果未指定n,则为默认值。"

答案 1 :(得分:0)

假设您有String格式的数据,我们可以使用setCharacterStream来绕过64000字节的限制。

使用preparedStatement将大量数据clob列插入

pStmt.setCharacterStream(paramterIndex, new StringReader(StringToBeInserted), StringToBeInserted.length());