当前位置: 首页 > 知识库问答 >
问题:

用Java/Scala存储/检索BYTEA和BLOB:“java.sql.sqlFeaturenotSupportedException”

严琨
2023-03-14

情况如下:我试图在PostgreSQL数据库中存储/检索Byte[]数组和BLOB。

def saveSmallImage(id: String, img: SmallImage): Unit = {
  DB.withConnection { implicit conn =>

  val ps = conn.prepareStatement(
    "INSERT INTO SmallImage(id, mimeType, image) VALUES (?, ?, ?)")
  ps.setString(1, id)
  ps.setString(2, img.mimeType)
  ps.setBinaryStream(3, img.binaryStream, img.length)
  ps.executeUpdate()
  ps.close()
}
} 

其中'image'列的类型为BYTEA,IMG.BinaryStream的类型为InputStream。

我得到这个错误:

java.sql.SQLFeatureNotSupportedException: Method 
org.postgresql.jdbc4.Jdbc4PreparedStatement.
  setBinaryStream(int, InputStream, long) 
is not yet implemented.

在我的构建中有以下依赖项。sbt:

"postgresql" % "postgresql" % "9.1-901-1.jdbc4"

PS:...试图git克隆PGJDBC。它需要ant 1.4.1来构建。这个ant版本已经有8年了,在Apache基金会的网站上已经没有了。是不是有点诡异?

共有1个答案

匡翰
2023-03-14

这似乎是更最新的一个,不是吗?

“org.postgreSQL”%“postgreSQL”%“9.3-1100-jdbc41”

 类似资料:
  • 问题内容: 我想存储值并从Java HashMap中检索它们。 这是我到目前为止所拥有的: 我想从HashMap中检索所有键和值作为Java集合或实用程序集(例如)。 我知道只要知道密钥就可以获取值,例如: 有没有办法检索键值作为列表? 问题答案: Java Hashmap键值示例:

  • 我想存储值并从Java HashMap中检索它们。 这是我目前所拥有的: 我想从HashMap中检索所有键和值,作为Java集合或实用程序集(例如,LinkedList)。 我知道如果我知道键,我可以得到值,如下所示: 有没有办法以列表的形式检索键值?

  • 问题内容: 我正在使用Hibernate 4.0将jpegs存储到postgres 9.1.4中(jdbc是postgresql-9.1-901.jdbc4.jar)bytea列(byte []是hibernate实体,没有额外的类型def)。 hibernate存储过程工作正常,因为我可以使用数据库工具来转储bytea列并仍然获取jpeg。基本上是: 在managedBean中 此时,字节看起来

  • 问题内容: 我是Java编程的新手,我正在搜索Java代码以将图像存储在PostgreSQL中并检索图像。 在PostgreSQL中,我使用了Bytea数据类型。图像已存储。但是当我检索时,我得到NULL。我无法获得图像。 对此的任何示例或对此的任何其他建议将是有帮助的。 问题答案: PostgreSQL jdbc文档的第7章介绍了如何存储二进制数据并使用图像(* .gif文件)作为示例。您可能想

  • 问题内容: 我试图基于驻留在数据库上的信息创建PDF。知道我需要从Java检索TIFF图像,该图像作为BLOB存储在mysql数据库中。而且我不知道该怎么做。我找到的示例显示了如何检索它并将其另存为文件(但保存在磁盘上),并且需要驻留在内存中。 表格名称:IMAGENES_REGISTROS BLOB字段名称:IMAGEN 有任何想法吗? 问题答案: 在您的通话中: 或者,您可以致电: 正如Bal

  • 我正在处理一个Azure存储项目,其中我需要在容器中上传和下载blob,并在列表框中列出容器和blob。我无法在我的列表框中显示容器和blob。 最后是我调用上传、下载和列表方法的接口背后的代码: