使用润乾报表开发基于web的数据填报模块时,总会遇到数据的提交方案。提交方案的复杂程度,取决于输入页面的复杂程度。最简单的一个页面一条记录,对应数据库的一张物理表;复杂点的多条记录,但是依旧对应数据库的一张物理表;再复杂些的,对应数据库多张物理表;最复杂的,估计要数多库提交了。
数据提交方案不管多复杂,最基本的要求是保持数据库的事务一致性。事务一致性对单库说起来挺容易的,但是对多个数据库的情况就很难实现了。
其次,是对数据类型的处理,网页上提交上来的数据是无法识别录入的数据类型的,因此需要在后台对数据类型进行转换。
第三,是更新字段和页面上输入格的映射关系,这一点算是最麻烦的了,简单的输入表,一页一条记录或者一行一条记录都好说,对于多源分片的填报表,就不容易了。尤其是一条记录对应的格子分散在不同行不同扩展区域的时候,这个映射关系需要仔细的考虑。当然还有更加复杂的,比如更新字段不是对应页面上的某个输入格,而是对应某个或者某几个输入格数据组成的表达式,那样还需要在后台把表达式的值先算出来,然后才能用于提交更新。
另一种情况是数据库的字段对应的为数据库的表达式,此时要考虑不是简单地拼出更新的sql,而是要把数据库的表达式拼进更新sql中。
上述这些功能如果都用程序硬写,都能实现,但是如果要考虑通用性,而不是一个模块写一段程序的话,难度还是比较大的。
润乾的填报表给出了一个近乎完美的数据提交方案:”多源回填”方案,可以轻松地处理自由库表关联,处理多库、多表提交,保证数据库的事务一致性。
实现步骤
设计一个填报表
定义更新属性
发布
效果演示
更新属性定义界面:
引自: 润乾报表
原文链接:润乾报表多源回填:快速实现多库多表提交数据
分享到:
相关推荐
### 多库多事务降低数据不一致概率 #### 案例缘起 在实际的业务场景中,为了确保数据的正确性和完整性,通常会利用事务处理机制来保证数据库操作的ACID特性(原子性、一致性、隔离性、持久性)。以一个简单的订单...
4、支持显示匹配的数据来自数据库名称和表名称; 5、兼容多个版本的数据库; 6、支持多种操作系统的使用运行; 7、关键词支持字符串、日期、整形等等类型; 8、更多………… 使用如下命令即可查看使用帮助: sh ...
"Spring3+Hibernate4+Maven+JUnit 多库多数据源实现"是一个典型的Java Web项目配置,它涉及了多个核心技术来处理复杂的数据管理需求。下面将详细阐述这些技术以及如何协同工作以实现多库多数据源。 首先,Spring...
总的来说,"纯spring多库"结合Atomikos的解决方案为开发者提供了一种高效且易于管理的多数据库事务处理方式,它使得在大型分布式系统中保持数据一致性成为可能。通过深入理解和熟练运用这些技术,可以极大地提升系统...
介绍多库系统和数据库系统的概念、方法、理论
这个压缩包文件“计算机软件-商业源码-实例128-Paradox数据库的多库查询.zip”显然是一个包含源代码的示例,用于演示如何实现对多个Paradox数据库的查询操作。下面我们将深入探讨Paradox数据库、多库查询以及可能...
### 如何在两个SQLSERVER之间实现数据同步 在IT领域,特别是对于企业级应用而言,数据同步是一项重要的技术,能够确保不同地理位置的数据中心之间数据的一致性和可用性。本文将详细介绍如何通过SQL Server的复制...
基于 SpringBoot 多数据源 动态数据源 主从分离 快速启动器 支持分布式事务。一个基于springboot的快速集成多数据源的启动器。支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库...
基于Flink CDC使用datastream方式全量增量同步mysql to mysql 使用的是java语言,只需配置完源数据库和目标数据库信息,运行MysqlCDC中的main函数,即可实现多库多表同步。
问题:最近使用laravel的DB::transaction()方法进行事务操作时,发现事务总是无效的。代码如下: DB::transaction(function () use ($uid, $roleId) { RoomUserRole::insert([ 'uid' => $uid, ...
《多库俄罗斯方块C#版本》是一款基于C#编程语言实现的经典游戏——俄罗斯方块。C#是一种现代化、类型安全且面向对象的编程语言,由微软开发,广泛应用于Windows平台上的应用程序开发,包括游戏开发。这个项目展示了...
本示例“spring mybatis atomikos 多库分布式事务demo”聚焦于如何在Spring与MyBatis框架下利用Atomikos实现跨数据库的分布式事务管理。 首先,Spring是一个广泛应用的开源框架,提供了丰富的功能,包括依赖注入、...
这可能是为了分离不同业务模块的数据,或者为了在高可用性和可扩展性架构中实现数据分区。myBatis 多数据源配置就是为了解决这样的问题。myBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。...
3. **多库合并验证**:在多实例多库的场景下,如果需要将多个数据库合并到一个实例,该工具可以预先检查数据一致性,防止合并后的错误。 4. **故障排查**:在数据异常或系统故障后,可以使用此工具快速检查数据是否...
10.配备全面的报表中心,可随时查看商品入库、出库、库存明细及汇总各种报表,仓库数据一目了然。 11.提供商品短缺提示,方便及时补充商品货源。 12.可自定义打印单据格式,并支持各种纸张类型的多联打印及单据套...
物资管理系统后台数据传输模块是企业信息化建设中的关键组成部分,它主要负责在多个数据库之间实现数据的高效、安全、单向自动同步。这个功能对于保证数据的一致性、提高业务流程效率以及降低人工干预错误有着重要...
- **适用场景**:当存在多库多表的情况时效果最佳,但对于单库多表的情况则提升有限。 - **优化建议**:将单库多表模式升级为多库多表模式,以充分发挥并行复制的优势。 2. **基于GTID的并行复制**: - **原理*...
金多库管软件 不打会用 专业人士玩去吧
基于`SpringBoot2.X + Lettuce`实现Redis集成和多库实时切换是一个非常实用的项目。以下是对该项目的一些重点说明: 1. **项目概述** 该项目的主要目标是在`SpringBoot`...可以配置多个Redis实例,用于实现多库切换。
当JDBC Inbound Channel Adapter获取到数据库中的新数据后,它会将查询结果封装成一个或多个消息,然后发送到指定的通道。默认情况下,查询结果的每一行都会被转化为一个Message对象,其payload为结果行,headers中...