如何在PL / SQL中实现Java deserialize()

时间:2015-12-15 10:14:31

标签: java serialization plsql

我需要反序列化()存储在BLOB中的Java对象。数据库实例没有加载服务器端Java,也从不获取Java。我无法使用Java代码连接到数据库,只能使用TOAD等SQL客户端。所以唯一的选择似乎是,在PL / SQL中实现反序列化。有什么想法,怎么样?

1 个答案:

答案 0 :(得分:0)

我不知道你想要实现的目标,但如果没有办法问你已批准的Java应用程序"以可读的形式编写您需要的数据(您购买的3d方应用程序存储的数据?如果是这样,他们是否能为您提供实现您想要的工具?),如果可以&# 39;编写自己的java程序来读取这些序列化对象,我想这是你要做的事情的唯一方法是:

  1. 阅读位于https://docs.oracle.com/javase/8/docs/platform/serialization/spec/serialTOC.html(对于JDK 8)
  2. 的Java对象序列化规范
  3. 确保您知道要分析的课程(如果对象是不同课程的实例,这可能会帮助您过滤您正在寻找的对象)
  4. 按照序列化流格式在PL / SQL中反序列化对象,并阅读您正在寻找的字段。
  5. 本文可以帮助您理解序列化算法:http://www.javaworld.com/article/2072752/the-java-serialization-algorithm-revealed.html

    注意:我不推荐这种方法,您应该找到一种以可读格式存储数据的方法。