| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 |
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> db2 >> db2应用开发 >> 文章正文
用 DB2 例程来简化迁移        【字体:
用 DB2 例程来简化迁移
作者:-    文章来源:-    点击数:    更新时间:2006-4-22
Marina Greenstein, 认证的顾问 I/T 专家 - 数据管理, IBM
Arthur V Sammartino, 认证的顾问 I/T 专家 - 数据管理, IBM
Knut Stolze, 信息集成开发, IBM

2004 年 3 月
要从其他 RDBMS 迁移到 DB2 吗?这里的一些例程将有助您方便地迁移其他数据库产品中的一些使用频繁的功能。

简介
当使用来自于不同供应商的不同数据库系统时,用户和数据库管理员将不可避免地碰到在这些产品中各不相同的特性和功能。通常,可在以下方面发现这些差异:

  • 受支持的 SQL 方言中的不同语法。
  • 数据库管理器应用程序界面。
  • 不同的管理工具及其用法。

 

为了使得将数据库和应用程序从 Oracle®、Sybase® 或 Microsoft® SQL Server 等数据库产品迁移到 IBM® DB2® Universal Database™(UDB)更容易,本文将展示一些可行的 DB2 UDB 功能实现,而且这些功能在其他数据库系统中也可获得。这些实现将涉及创建存储过程和用户定义函数(UDF)以实现那些常常被请求的功能。

在“下载”小节中,您将找到这些过程和函数的源代码以及包含了 CREATE PROCEDURECREATE FUNCTION 语句的 SQL 脚本。如果您对确切的实现细节很感兴趣,就请查阅这些代码。一旦编译并链接了源代码(或安装了预编译的库)以及在数据库中注册了这些过程和函数之后,您就可以按本文实例所演示的那样来使用它们了。另外值得注意的是,这些过程和函数可用于 DB2 UDB 版本 7 和版本 8。

清除表
当从 Oracle 迁移到 DB2 时,所碰到的一个普遍问题就是 TRUNCATE 命令。在 Oracle 中执行时,该命令不用借助一个或多个 DELETE 操作就可快速地清除表中所有内容, DELETE 操作需要进行大量的日志记录。

DB2 的 IMPORT 功能提供了完成相同功能的方法,只要使用 REPLACE INTO 子句以及将一个空文件指定为数据源。在该情况下,表中所有的行都将被快速清除并且只使用一条日志记录,接着就从给定的文件中导入新的数据。而对于一个空文件,就不会导入任何内容,从而在该操作结束时清除了该表。

要实现该功能,我们可以利用 DB2 定义的叫做 sqluimpr() 的 C API 函数来以程序的方式将数据导入数据库的表中。我们将这个 API 包装到存储过程中,以便可通过 SQL 接口用于所有的应用程序,而无需考虑编程的语言。清单 1 中展示了存储过程 TRUNCATE_TABLE 的签名。

清单 1. 过程 TRUNCATE_TABLE 的签名
            >>--TRUNCATE_TABLE--(--schema_name--,--table_name--)--------><            
文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 借助 AOP 重构 DB2 数据库访…

  • 如何在 DB2 上为 AIX5L 设置…

  • 服务访问 DB2 Universal Dat…

  • 将 DB2 数据库应用程序转移到…

  • 为 DB2 数据库设计对象模型

  • C#Builder 处理 DB2 通用数据…

  • 构建模型驱动的 Windows 应用…

  • 配置 IBM DB2 通用数据库以构…

  • DB2 UDB 连通性快捷表: 第 5…

  • 如何为非传统数据实现索引扩…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |