在java(1.5)中从数据库读取bytea(blob ...)时遇到问题

时间:2017-11-09 14:00:31

标签: java postgresql blob

首先,我应该提到我是Java的绝对初学者。 12年前,我在学校里碰了一下。从那以后,Haven就没碰过它了。对不起,如果这个问题听起来有点基础。

我们需要修改在Java 1.5上运行的客户端Web服务。是的,这是一个非常古老的java版本,是的,直到另行通知,我们坚持使用它。这不是我们的决定......

我需要从Postgre表中读取数据。该表具有自动增量ID,车辆ID,数据类型ID,时间戳和包含bytea的data_value字段,该字节表示该值。每种数据类型都有不同的数据结构。

例如,数据类型1将是油温,并且只有一个值:温度。数据以2个字节表示,它是华氏温度* 10。

数据类型2可以是GPS坐标,并且将以20个字节表示。它有多个值,其中字节1-4表示纬度,字节5-8表示经度,9-10表示高度,11表示卫星数等。

Web服务使用org.springframework.jdbc.support.rowset.SqlRowSet来读取其他表中的数据。问题是,至少在1.5中,SqlRowSet类无法读取字节数组/ blob。我可以读取整数,双精度数,字符串,布尔值,对象甚至字节,但不能读取字节数组。

有没有办法将SqlRowSet转换为另一种类型的记录集/行集,让我读取字节数组?或者是否有其他方法可以做到这一点,我不知道?

我可以尝试展示我们的一些代码,但我不知道你们需要看到的内容,如果您需要更多信息,请告诉我们!

谢谢,

1 个答案:

答案 0 :(得分:1)

你能不能使用下面的东西?

Blob obj = (Blob) rowSet.getObject("columnLabel");