【问题标题】:Can we read data from CLOB or TEXT data type column in EnterpriseDB 9.2我们可以从 EnterpriseDB 9.2 中的 CLOB 或 TEXT 数据类型列中读取数据吗
【发布时间】:2014-04-24 09:35:48
【问题描述】:

我正在使用 EnterpriseDB 9.2 高级服务器(与 Oracle 兼容的 PostgreSQL 分支)并且我想使用 getClob() 从 clob 或文本类型数据类型列中读取数据方法。

我在尝试时遇到错误:

org.postgresql.util.PSQLException:long 类型的值错误:
adminuser@domainUser 登录 成功地在 org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2‌​971) 在 org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:‌​2163) 在 org.postgresql.jdbc2.AbstractJdbc2ResultSet.getClob(AbstractJdbc2ResultSet.java:‌​436)

那么是否可以使用 postgresql 中的任何技术从上述场景中读取数据?

【问题讨论】:

  • “oracle 兼容” - 您是指 EnterpriseDB Advanced Server 吗?请具体说明您正在运行的确切。显示带有完整堆栈跟踪的 exact 错误消息。显示您正在运行的代码。请详细说明。
  • 是的,我的意思是是的,我正在使用 EnterpriseDB Advanced Server,org.postgresql.util.PSQLException:long 类型的值错误:adminuser@domain用户成功登录 at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2163) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2971) at org.postgresql .jdbc2.AbstractJdbc2ResultSet.getClob(AbstractJdbc2ResultSet.java:436)
  • 使用 getString() - 可以在 Oracle 和 Postgres 中使用(前提是您使用最新的 Oracle 驱动程序)
  • 谢谢,它的工作意味着 getString() 正在用于读取 postgresql 9.2、oracle 和 sql server 中的 clob 或文本数据。

标签: postgresql clob enterprisedb


【解决方案1】:

在使用 Hibernate 的情况下,您可以定义实体,如下所示。该解决方案至少在 PostgreSQL、H2 和 HSQLDB 上运行良好(我没有检查其他数据库):

@Column(columnDefinition = "CLOB")
String myClobField;

【讨论】:

    猜你喜欢
    • 2014-07-26
    • 2015-07-24
    • 2023-02-23
    • 2015-06-12
    • 1970-01-01
    • 2021-03-25
    • 2011-04-05
    • 2020-06-17
    • 2022-10-22
    相关资源
    最近更新 更多