java - BLOB 是哪种类型?

标签 java db2 blob

我的数据库中有大约 100,000 个 BLOB,必须使用它们。当有人告诉我必须处理哪种类型的 BLOB 时,一切正常。但是在某些情况下,我不知道它是哪种类型。那么我怎样才能知道我的 BLOB 是哪种类型呢?

上次我处理 BLOB 我得到了关于它的具体信息,它是压缩文件。所以我这样做了..

try {
   byte[] str = this.jdbcTemplate.queryForObject("SELECT SAVEDATA FROM JDBEVPP1.TEVP005 WHERE GFNR = 357302", byte[].class);    // pakira BLOB u byte array
   ByteArrayInputStream bys = new ByteArrayInputStream(str);
   GZIPInputStream gzip = new GZIPInputStream(bys);
   //...etc...
}

如何找出 BLOB 正在使用 Java 代码的类型?

最佳答案

这个问题的最终答案是 Robert Harvey 的评论:

“识别某种类型的二进制文件的常用方法是在文件的开头使用一些“魔数(Magic Number)”来识别类型。参见 en.wikipedia.org/wiki/… 和 en .wikipedia.org/wiki/File_format#Magic_number"

还有 Erwin Smout 的评论:

“通过阅读数据库设计的详细规范。如果没有,通过尝试找到系统的原始作者并希望他还记得。如果没有,通过尝试找到使用相同 BLOB 和类型的其他代码从那里重新设计规范。在大多数商店中,您将不得不一直走到第三步,唉。”

关于java - BLOB 是哪种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220484/

相关文章:

java - Tomcat(外部而非服务器运行时)是否适用于 JDK 11

java - 如何获取 OpenJPA 无效数据转换异常的确切详细信息?

php - 从 SQL BLOB 输出图像

php - 无法使用 php 从 mysql 中的 blob 获取图像

javascript - 将 Data-URL 转换为有效的字节字符串

java - 写入 Web 日志(文本文件)Java EE

java - Java 运行时中的链接是否总是动态完成的?

java - 在java中以26个字符格式读取db2时间戳?毫秒的最后一个字符丢失

database - 没有发出启动数据库管理器命令。 SQLSTATE=57019

java - 使用 Saxon 的 XML 和 XSL 文件