UML软件工程组织 |
配置 IBM DB2 通用数据库以构建 SQL 过程 |
Nanda Pilaka IBM Corporation IBM |
简介 IBM DB2® UDB Version 7 引入了 SQL 过程,作为它其中的一个新功能。SQL 过程是指用 SQL 语言编写的存储过程。本文讨论了设置环境以构建和部署 SQL 过程的过程。将 SQL 过程转换成 C 语言代码之后,就编译该代码来构建存储过程库。Windows®、OS/2®、UNIX®、OS/390® 以及 OS/400® 平台上均支持这些 SQL 过程。本文与 Windows、OS/2 和 UNIX 平台相关。 先决条件 要在一台机器上构建 SQL 过程,需要安装两个产品:
关于平台所提供的支持 DB2 的 C 编译器的清单,请查阅 Application Building Guide。 设置环境 正如前面提到的,DB2 将 SQL 过程转换成 C 代码,此代码随后则被编译成存储过程库。为了编译该代码,必须配置 DB2 以检测所安装的 C 编译器。 为了配置 DB2 以检测所安装的 C 编译器:
注意:在 Windows NT® 和 Windows 2000
上,只要已将编译器的环境变量存作 DB2 还提供了每个平台上默认的可执行文件,用以为该平台所支持的其中一个(默认的)编译器设置环境。其默认的文件名和位置取决于平台:
默认情况下,DB2 会将 应检查上述文件的内容以确保它们正确反映了焦点平台中默认编译器的环境设置。例如,在 Windows
NT 和 Windows 2000 上, 另一个常见的错误就是对该文件进行了所有的正确修改,但却保留了编译器环境设置命令周围的注释。再次检查
编译转换过来的 C 代码 在配置完 DB2 以检测编译器环境之后,就需要配置它,以使用针对所安装的编译器的编译命令。这将通过将另一个
DB2 注册表变量 在 AIX 上,用于 AIX Version 3.6.6 的 IBM C Set++ 的默认编译命令为: xlC_r -+ -H512 -T512 -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \\ -bE:SQLROUTINE_FILENAME.exp -e SQLROUTINE_ENTRY \\ -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -lc -ldb2 在 Solaris 上,SPARC Compiler C++ Version 4.2 和 5.0 的默认编译命令为: cc -# -Kpic -I$HOME/sqllib/include SQLROUTINE_FILENAME.c -G \\ -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -R$HOME/sqllib/lib -ldb2 在 Windows 上,Microsoft Visual C++ Version 5.0 和 6.0 的默认编译命令为: cl -Od -W2 /TC -D_X86_=1 -I%DB2PATH%\\include SQLROUTINE_FILENAME.c /link -dll -def:SQLROUTINE_FILENAME.def /out:SQLROUTINE_FILENAME.dll %DB2PATH%\\lib\\db2api.lib 注意:以上 AIX 和 Solaris 平台上的‘\’用于指示回车。对于 Windows 平台,其整个命令就是连续的一行,不用‘\’来指示回车符。 定制编译命令 如果安装不同的编译器(因而需要不同的编译命令),或者如果定制默认的编译选项,那么您就需要将
要在 AIX 平台上返回调试信息,就要在默认的编译命令中添加 db2set DB2_SQLROUTINE_COMPILE_COMMAND=攛lC_r -+ -H512 -T512 -g \\ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c \\ -bE:SQLROUTINE_FILENAME.exp -e SQLROUTINE_ENTRY \\ -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -lc -ldb2 要在
Solaris 平台上返回调试信息,就要在默认的编译命令中添加 db2set DB2_SQLROUTINE_COMPILE_COMMAND=攃c -# -Kpic -g \\ -I$HOME/sqllib/include SQLROUTINE_FILENAME.c -G \\ -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -R$HOME/sqllib/lib -ldb2 要在
Windows 平台上返回调试信息,就要更新 db2set DB2_SQLROUTINE_COMPILE_COMMAND=cl -Od -W2 /TC -D_X86_=1 -I%DB2PATH%\\include SQLROUTINE_FILENAME.c /link -dll -def:SQLROUTINE_FILENAME.def /out:SQLROUTINE_FILENAME.dll -debug:full -pdb:none -debugtype:cv %DB2PATH%\\lib\\db2api.lib 再次请注意在 Windows 平台上,编译命令应按一行连续输入。 恢复为默认的编译命令 将 db2set DB2_SQLROUTINE_COMPILE_COMMAND= 结束语 构建 SQL 过程有两个主要步骤:
构建 SQL 过程中常见的错误源于编译器环境的错误配置。本文简明地解释了为构建 SQL 过程设置环境的过程。DB2 Version 7,fixpak 3 的版本信息提供了其他平台上默认编译命令的更多示例。 关于作者
|
版权所有:UML软件工程组织 |