【发布时间】:2012-03-08 09:03:48
【问题描述】:
假设我想避免在 JDBC 中使用绑定变量并使用“ad-hoc”语句运行 SQL,例如:
connection.createStatement().executeQuery("SELECT ...");
是否有任何约定/JDBC 转义语法来内联 BLOB 数据类型?我知道H2 has this syntax:
INSERT INTO lob_table VALUES (X'01FF');
但这不是标准。有什么通用的解决方案吗?请注意,我对一般方法感兴趣。我知道这可能会变得非常低效。
【问题讨论】:
-
如果它是文本字段而不是图像,大多数 DBMS 将接受字符串。如果您想在其中获取非文本信息,可以将其转换为十六进制,尽管那样很昂贵。
-
@TonyHopkinson:我不知道数据的语义,所以我不得不假设它实际上是二进制数据。所以你是说大多数数据库都接受十六进制字符串?
-
在文本块中,是的。图片,我不知道,从来没有尝试过。嗯,也许 Convert(VarBinary(),"SomeString" 也可能是一个观众,突然想到
-
@TonyHopkinson:这似乎是特定于 SQL Server 的。很高兴知道它是如何工作的,但通常对于这个问题,它超出了范围。我只是在寻找
BLOB/BINARY数据类型
标签: sql jdbc binary blob inline