gpt4 book ai didi

java - PostgreSQL 相当于 Java 中的 oracle.sql.BLOB

转载 作者:行者123 更新时间:2023-12-01 14:09:23 25 4
gpt4 key购买 nike

我有以下使用oracle.sql.BLOB的代码

BLOB b = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
//conn is a PostgreSQL connection (java.sql.Connection object)
b.setBytes(1, someString.getBytes());
ps.setBlob(++i, b); //ps is a PreparedStatement

显然它不会工作,因为 createTemporary 需要 Oracle 连接。

  1. 使用 Postgres 连接实现此目的的等效方法是什么?据我所知,Postgres 中 Blob 的等价物是 ByteA。目标列是 bytea 列。我可以只执行以下操作吗?或者有没有适当的方法可以达到相同的效果?

    ps.setBytes(++i, someString.getBytes());
  2. 此外,如何使 Oracle 特定代码独立于数据库供应商? (避免使用 oracle.sql.BLOB,即使它是 Oracle 连接)

最佳答案

如果您确实使用 setBytes() (我不记得是否还有其他 psql 或非 psql 特定的 blob 方法),请记住向您的 someString 添加字符编码.getBytes().

为了使您的代码独立于数据库,请停止使用数据库特定的类。仅使用 java.sql.* 类就可以走很长的路。当您必须深入研究实际实现的驱动程序类时,这应该只是一种特殊情况。

关于java - PostgreSQL 相当于 Java 中的 oracle.sql.BLOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18650252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com