问题标签 [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.
java - 从 spring 使用 HSQLDB 时的 Blob 大小限制
我正在使用 HSQLDB 进行测试。该数据库是通过扫描模型从 spring 创建的。其中一个模型是包含附件的消息(因此导致 lob)。尝试保存带有附件的消息时,会导致:org.hsqldb.HsqlException:数据异常:字符串数据,右截断。附件最大只有 4kb。有没有办法从 spring 配置 hsql lob 字段的大小限制?我确定异常是由附件引起的,因为当我评论该行(添加附件)时一切正常。
我的弹簧配置:
消息模型:
...
sql - Postgresql - 将列类型从 oid 更改为具有数据保留的 bytea
现在我正在开发使用 hibernate + postgresql 来持久化数据的应用程序。我们需要存储一些可序列化的HashMap,所以为此使用了LOB(oid)。但是由于 postgresql 中 oid 删除的一些问题,我们决定将这些数据存储为 bytea 而不是 oid。所以问题是,在保留旧数据的情况下,将列类型从 oid 更改为 bytea 的最佳方法是什么?如果有人可以为这种数据转换提供工作脚本/解决方案,那就太好了。
先感谢您。
oracle - Spring JDBC lob插入失败:无效的列类型
编码:
lobHandler 是在上下文中注入的 OracleLobHandler 的一个实例。
例外:
这是 Spring 框架 3.0.5.RELEASE。
我们的 oracle 驱动程序依赖项是
桌子:
我什至不确定我可以添加哪些其他信息,但如果我遗漏了一些信息,我会很乐意这样做。
oracle11g - Oracle 11g 临时 lob 不可释放
我正在使用 Oracle 11gR2,有人能告诉我为什么临时 lob 没有被释放吗?
当我做
它还在那里。
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 执行此操作?
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)。
谢谢,
java - “无效的流标头”异常 - JPA 和 MySQL 的 Lob
我有一个这样定义的字段
我正在使用 MySQL 5,desccription
字段类型为TEXT
.
在尝试读取 Item 类型的对象时,出现以下错误:
您知道造成这种情况的可能原因是什么吗?
我正在使用 JDK6 和 DataNucleus 3.1.1。
java - 用JPA注解@Lob是什么类型的数据记录?
我有一个问题,当我在银行内录制PDF文件时,我最好保存为文件或字节[]?
或者
以及如何从数据库中获取此文件并在浏览器中显示?
我想知道为什么我这样做:
但显示此错误:
原因:org.hibernate.MappingException:没有 JDBC 类型的方言映射:-4
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,因为我以前使用过它,而且效果很好。但是我担心失去控制。很容易找到服务定位器,而不是尝试解决设计问题。
有人可以提供他们的经验/知识吗?
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 中。虽然这确实有效,但似乎有点不雅。
有没有人对替代方法有任何想法?