返回顶部
首页 > 资讯 > 数据库 >数据库要从 Oracle 换成 MySQL,以前报表都是存储过程写的,怎么迁移呢?
  • 486
分享到

数据库要从 Oracle 换成 MySQL,以前报表都是存储过程写的,怎么迁移呢?

摘要

存储过程没法移植,差不多都要重新了。既然重写,还不如从根本上解决移植问题。 原来存储过程是“不得不用”,因为前端的报表工具不具备复杂计算能力,而为报表准备数据的逻辑又很复杂,用存储过程方便些。 但存储过程的缺点实在太多,除了不好调试,没

数据库要从 Oracle 换成 MySQL,以前报表都是存储过程写的,怎么迁移呢?

存储过程没法移植,差不多都要重新了。既然重写,还不如从根本上解决移植问题。

原来存储过程是“不得不用”,因为前端的报表工具不具备复杂计算能力,而为报表准备数据的逻辑又很复杂,用存储过程方便些。

但存储过程的缺点实在太多,除了不好调试,没法扩展,无法移植,还容易造成报表应用跟数据库的高耦合,改报表就得去数据库里创建 / 修改存储过程。估计用户也是因为这个禁止使用存储过程了。

一个方案是:用 JAVA 硬编码来做复杂计算,然后给报表做呈现;但这种做法的复杂度太高了,对于报表开发来说就要很多高级程序员参与才行,不太划算。

比较好的选择是使用带脚本计算能力的报表工具,在报表里就直接搞定原来存储过程的那些计算(库外存储过程),而且相对简单,原来的报表开发人员就都能搞定。
画了一个简图,可以感受一下:

png

新型报表应用结构中,存储过程挪到库外做了以后,数据库还是要承担一点计算任务的,比如过滤、分组之类,主要是为了减少取数的 io 消耗。

另外,新结构的库外“存储过程”支持异构库或外部数据混合计算,比原来数据库的存储过程功能还扩展了;重要的是解决了报表应用和数据库的紧耦合,以后应用可以任意扩展,数据库更换也不怕了。

这里详细介绍了带脚本计算能力的报表工具如何完成库外存储过程,供参考: 怎样减少报表开发中对存储过程的依赖

您可能感兴趣的文档:

--结束END--

本文标题: 数据库要从 Oracle 换成 MySQL,以前报表都是存储过程写的,怎么迁移呢?

本文链接: https://lsjlt.com/news/6831.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作