问题标签 [lob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1773 浏览

java - 从 spring 使用 HSQLDB 时的 Blob 大小限制

我正在使用 HSQLDB 进行测试。该数据库是通过扫描模型从 spring 创建的。其中一个模型是包含附件的消息(因此导致 lob)。尝试保存带有附件的消息时,会导致:org.hsqldb.HsqlException:数据异常:字符串数据,右截断。附件最大只有 4kb。有没有办法从 spring 配置 hsql lob 字段的大小限制?我确定异常是由附件引起的,因为当我评论该行(添加附件)时一切正常。

我的弹簧配置:

消息模型:

...

0 投票
2 回答
1822 浏览

sql - Postgresql - 将列类型从 oid 更改为具有数据保留的 bytea

现在我正在开发使用 hibernate + postgresql 来持久化数据的应用程序。我们需要存储一些可序列化的HashMap,所以为此使用了LOB(oid)。但是由于 postgresql 中 oid 删除的一些问题,我们决定将这些数据存储为 bytea 而不是 oid。所以问题是,在保留旧数据的情况下,将列类型从 oid 更改为 bytea 的最佳方法是什么?如果有人可以为这种数据转换提供工作脚本/解决方案,那就太好了。

先感谢您。

0 投票
2 回答
3781 浏览

oracle - Spring JDBC lob插入失败:无效的列类型

编码:

lobHandler 是在上下文中注入的 OracleLobHandler 的一个实例。

例外:

这是 Spring 框架 3.0.5.RELEASE。

我们的 oracle 驱动程序依赖项是

桌子:

我什至不确定我可以添加哪些其他信息,但如果我遗漏了一些信息,我会很乐意这样做。

0 投票
1 回答
1993 浏览

oracle11g - Oracle 11g 临时 lob 不可释放

我正在使用 Oracle 11gR2,有人能告诉我为什么临时 lob 没有被释放吗?

当我做

它还在那里。

0 投票
1 回答
2295 浏览

python - 如何在内存受限的系统上使用 cx_Oracle 下载巨大的 Oracle LOB?

我正在开发一个系统的一部分,其中进程限制为大约 350MB 的 RAM;我们使用 cx_Oracle 从外部系统下载文件进行处理。

外部系统将文件存储为 BLOB,我们可以通过以下方式获取它们:

lob.read()当我们遇到大于 300-350MB 的文件时,显然会失败MemoryError,所以我们尝试了这样的方法,而不是一次读取所有文件:

不幸的是,我们仍然MemoryError经过几次迭代。从所花费的时间lob.read()和我们最终得到的内存不足的情况来看,看起来好像每次都lob.read()从数据库中提取 (chunk_size + read_size) 个字节。也就是说,读取需要 O(n) 时间和 O(n) 内存,即使缓冲区小得多。

为了解决这个问题,我们尝试了类似的方法:

这一次提取 2000 个字节(argh),并且需要很长时间(对于 1.5GB 文件来说大约需要两个小时)。为什么是 2000 字节?根据 Oracle 文档,dbms_lob.substr()将其返回值存储在 RAW 中,限制为 2000 字节。

有什么方法可以将dbms_lob.substr()结果存储在更大的数据对象中,一次读取几兆字节?如何使用 cx_Oracle 执行此操作?

0 投票
1 回答
2806 浏览

jpa - JDODetachedFieldAccessException:您刚刚尝试访问字段“附件”,但在您分离对象时该字段未分离

实体类:

持久性类/逻辑:

消费者类/逻辑:

我得到的错误是:

原因:javax.jdo.JDODetachedFieldAccessException:您刚刚尝试访问字段“附件”,但在您分离对象时该字段未分离。要么不要访问此字段,要么在分离对象时将其分离。在 com.ge.dsp.iwork.entity.CustomerSurvey.jdoGetattachment(CustomerSurvey.java) 在 com.ge.dsp.iwork.entity.CustomerSurvey.getAttachment(CustomerSurvey.java:89) 在 com.ge.dsp.iwork.test .WorkServiceTest.testSubmitSurveyResponse(WorkServiceTest.java:270) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java :25) 在组织的 java.lang.reflect.Method.invoke(Method.java:597)。

谢谢,

0 投票
1 回答
1370 浏览

java - “无效的流标头”异常 - JPA 和 MySQL 的 Lob

我有一个这样定义的字段

我正在使用 MySQL 5,desccription字段类型为TEXT.

在尝试读取 Item 类型的对象时,出现以下错误:

您知道造成这种情况的可能原因是什么吗?

我正在使用 JDK6 和 DataNucleus 3.1.1。

0 投票
2 回答
10434 浏览

java - 用JPA注解@Lob是什么类型的数据记录?

我有一个问题,当我在银行内录制PDF文件时,我最好保存为文件或字节[]?

或者

以及如何从数据库中获取此文件并在浏览器中显示?

我想知道为什么我这样做:

但显示此错误:

原因:org.hibernate.MappingException:没有 JDBC 类型的方言映射:-4

0 投票
1 回答
456 浏览

dependency-injection - 在 LOB/DI 应用程序中实施横切概念

我目前正在创建一个小型个人窗口(桌面).NET LOB应用程序,我想借此机会增加我对DI的知识和经验。我已将我的应用程序分为模型、DAO 和 GUI 部分,但我想知道如何实现一些横切概念,例如:

  • 当前登录用户 - 用于:
    • 声明权限 - 在应用程序的某些部分,我检查用户是否拥有必要的权限
    • 审计 - 将用户操作记录到单独的数据库表中
    • ETC
  • 当前应用程序参数(从配置文件或表中加载) - 用于:
    • 定义业务战略
    • 定义 UI(例如主题)
    • ETC
  • 记录到文件/数据库日志 - 用于:
    • 记录 UI 动作(点击按钮等)
    • 记录业务流程(计算结果、战略决策等)
    • 记录基础设施的东西(用于 CRUD 操作的 SQL)
    • ETC

目前我可以想到几种方法来提供这些信息:

  • 使用静态属性 - UserEntity.Current、Configuration.Current、Logger.Current 等。
    • 优点:
      • 易于实施
      • 使用简单
    • 缺点:
      • 变得凌乱
      • 目前尚不清楚应用程序的哪个部分使用了什么
      • 如果您需要更精细的粒度,则不能使用(例如,如果应用程序中的某些进程需要覆盖当前值)
  • 使用DI - 为每个需要此信息的类提供属性/ctor 参数
    • 优点:
      • 每个班级都清楚它需要什么
      • 单元测试很容易
    • 缺点:
      • 它似乎只是让构造函数爆炸
      • 如果类需要具有默认构造函数,则会出现问题
      • 当类被第 3 方 (XAML) 实例化时难以设置
  • 使用服务定位器
    • 优点:
      • 易于设置
      • 便于使用
    • 缺点:
      • 目前尚不清楚应用程序的哪个部分使用了什么
      • 难以设置更精细的粒度(但并非不可能)

我目前倾向于使用 ServiceLocator,因为我以前使用过它,而且效果很好。但是我担心失去控制。很容易找到服务定位器,而不是尝试解决设计问题。

有人可以提供他们的经验/知识吗?

0 投票
1 回答
1768 浏览

spring - 从视图中的 postgres 访问 Lob 属性

我有一个标准的 Spring Framework (v3.1.2) java (v1.6) 数据库支持 (postgres v9.1) Web 应用程序,它在 Apache Tomcat (v6.0) 上运行。请注意,我使用的是 Hibernate 3.6.10.Final 和 Spring Data JPA 1.2.0.RELEASE。

我有两个数据库实体类——Chapter 和 ChapterText——它们之间是一对一的关系......

现在,由于 ChapterText 包含一个 @Lob 属性,它可能包含大量文本,我已经在 Chapter 类中标记了 chapterText 属性,以便它可以延迟加载。

我已经设置和配置了 OpenEntityManagerInViewFilter,所以我可以向模型添加一个章节实体(名称为“章节”),然后在我的 JSPX 文件中我应该能够做到这一点......

这应该延迟加载 ChapterText 实体并在为调用浏览器生成的 XHTML 页面中包含 body 属性的值。

这是从数据库中显示信息的一种完全标准的方式,我已经使用了多年。然而,这是我第一次不得不在 Postgres 中使用 @Lob 属性。当我这样做时,我会看到以下堆栈跟踪...

据我所知,Posgres 需要通过将自动提交设置为 false 的事务来访问要访问的大对象。

烦人的是,我能想到的唯一解决方法是创建一个存储库方法,该方法获取@Lob 属性,用@Transactional 标记它并将值加载到专门为显示目的而创建的bean 中。虽然这确实有效,但似乎有点不雅。

有没有人对替代方法有任何想法?