JAVA-SQL Server将字符串值插入varbinary(max)数据类型

时间:2018-08-13 13:41:55

标签: java sql-server sql-server-2008-r2

我有一个字符串值,并将SQL Server插入varbinary(max)数据类型

我的代码:

String fullText ="abcd"
byte[] binaryFullText = fullText.getBytes();
 preparedStatement.setBytes(33, binaryFullText);
preparedStatement.execute();
connection.commit();

,但其插入方式类似于"0x4E18ACADEBE27B0ADEAAE"

我想在DB中插入实际值吗?有时我的字符串超过了varbinary(max)的最大限制,因此在这种情况下。

如何将整个值插入字段?

1 个答案:

答案 0 :(得分:0)

我可以想到的一种解决方案是,如果您确实超出了最大值,则创建一个替代表。 假设所讨论的值是data且位于表foo中

-----foo-----
foo.id
foo.data_id
foo.descpit

创建另一个表

-----bar------
bar.id
bar.data

现在,您只需将更多具有正确ID的条目添加到bar表中,就可以根据需要将任意数量的数据链接到foo.data_id。

这还允许您将字段的值更改为将存储纯文本的文本。我不认为您可以将位存储到字段中并期望阅读纯文本

您失去了一些灵活性,但是获得了无限的理论存储能力。