WEB开发网
开发学院数据库DB2 在 Windows 中用 GCC 编译 DB2 UDB 存储过程 阅读

在 Windows 中用 GCC 编译 DB2 UDB 存储过程

 2009-12-08 00:00:00 来源:WEB开发网   
核心提示: 这个只做一次,注意在 db2set命令后及路径名后有一个空格;在命令中没有其它空格;还要注意下划线和引号的位置,在 Windows 中用 GCC 编译 DB2 UDB 存储过程(7), 文件路径是新创建的 db2gcc.bat 文件的绝对路径 , 创建 standard.def 文件这个文件定义

这个只做一次。注意在 db2set命令后及路径名后有一个空格;在命令中没有其它空格;还要注意下划线和引号的位置。

文件路径是新创建的 db2gcc.bat 文件的绝对路径 。

创建 standard.def 文件

这个文件定义了由生成的 C 过程导出的入口点。该入口点对每个过程都是一样的。standard.def 文件可放在任何地方,只要给批处理文件中 dllwrap命令正确的路径(如 创建编辑脚本文件中所描述的)。

列表 2. standard.def 文件

EXPORTS 
  pgsjmp@8 
  pgsjmp=pgsjmp@8 

它是如何工作的

当 DB2 将您的存储过程编译为 C 语言时,它生成一个 .C 文件,文件名带一个随机数字;通常该文件名为 Pnnnnnnn.C ,这里的 n 是数字。当生成这个文件后,DB2 将这个名字存入到环境变量 SQLROUTINE_FILENAME 中。

要编译这个存储过程,DB2 调用 db2gcc.bat 文件,将环境变量中的不带 .C 扩展的文件名传递到批处理文件的第一个输入参数中 (%1)。批处理脚本添加所需的文件扩展名(c, o, dll) ,然后 GCC 将 C 文件编译为一个目标(.o)文件。然后 dllwrap调用链接器 ( ld),将目标文件加上 DB2 运行库,加上 standard.def 文件绑定生成一个 DLL (动态链接库),这个文件最终由 DB2 服务器载入并运行。

请注意有关这个批处理文件的几个方面:

这个批处理文件是在将您的存储过程转换成 C 之后调用的。

必须将 DB2PATH 环境变量设置到您机器上的 DB2 基本目录中;这个文件用于找到 DB2 include 文件和链接库。可通过批处理文件或全局系统环境变量来实现。参见 设置系统环境变量部分。

dllwrap命令必须在一行内输入。

这个功能的每个命令和参数如下:

上一页  2 3 4 5 6 7 8 9  下一页

Tags:Windows 中用 GCC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接