应用程序迁移

[摘要]  一般而言,DB2 9.7 极大地减少了手动修改应用程序代码的需求。但是,尽管很少不兼容的地方仍然存在,有几个地方可能需要您的干预,有...

一般而言,DB2 9.7 极大地减少了手动修改应用程序代码的需求。但是,尽管很少不兼容的地方仍然存在,有几个地方可能需要您的干预,有最简单的,也有复杂一些的。

PHP/Perl

将 PHP 或 Perl 应用程序从 Oracle 迁移到 DB2 只涉及一个更改:将库调用从 Oracle 库更改为 DB2 库。修改库调用应该只需要使用一个文本编辑器在代码中进行一个调用名全局替换。PHP 中的 SQL 则保持不变。

Java

类似地,转换 Java 代码也比较直观。应用程序编程接口(API)本身定义良好并独立于数据库 — 数据库连接逻辑封装在标准 J2EE DataSource 对象中。特定于 Oracle 或 DB2 的词汇,比如用户名或数据库名,在应用程序中以声明方式配置。

转换代码只需要将 Java 源代码更改为适当的 API 驱动程序(JDBC 或 SQLJ)、数据库连接字符串、以及任何不兼容的 SQL 语句。DB2 9.7 还支持使用 Hibernate(一个针对 Java 的开源持久性和查询服务),现在,将其用于 DB2 与将其用于 Oracle 一样容易。

Oracle Calling Interface

Oracle Calling Interface (OCI) 是 C/C++ 开发人员用于与 Oracle 数据库交互的众多编程接口之一。DB2 9.7 Fix Pack 1 引入了 DB2 Call Interface (DB2CI),它提供了对 OCI 的兼容性 — 两个环境都使用一个开发人员熟悉的接口。

Oracle Forms

Oracle Forms 是一个遗留软件产品,用于为数据库创建数据输入系统。有些组织拥有数百个 Oracle Forms 屏幕,它们构成一个应用程序的部分或全部。

IBM 与 Realease 合作提供 Oracle Forms to Java 转换功能。Realease 提供将 Oracle Forms 转换为 Java 的工具支持,保留了原始 GUI 的观感。在很多情况下,转换工作可以在一周内完成、而不是几个月。

Triggers

DB2(还)不支持从一个 BEFORE 触发器内部执行对多个表的更新。在多数情况下,可以使用 AFTER 触发器来执行这些操作。另外,DB2 还不支持合并触发器动作。因此,如果您拥有一个 PL/SQL 多动作触发器,则需要将其复制到单独的 DB2 SQL PL 触发器中,对谓词使用一个布尔变量。

分区处理

DB2 可以配置为以几种方法来组织数据,包括表分区、数据库分区、多维集群化、或者这些方案的组合。如果您使用一种 Oracle 分区方式,则可能需要更新您的代码来处理语法差别。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。