设置 Linux-C-DB2 环境



我正在尝试建立一个学习环境:编写和测试简单的 C 程序以在 Ubuntu 18.04 系统上执行 DB2 数据库操作。

我在 Web 教程和 IBM 页面的帮助下安装了 DB2,从安装程序接收数据库信息,用 Gedit 编写了简单的程序。

我用Gnu C Compiler(gcc(编译了最简单的程序。

一旦编译器遇到"EXEC SQL..."行 它终止并报告错误。

我下一步要让这个东西发挥作用吗?

您还可以从 IBM 提供的示例嵌入式 SQL 程序中学习,这些程序(缺省情况下(随 Linux 上的 Db2 一起提供。

它们位于实例所有者主目录的样本子目录中(例如/home/db2inst1/samples/c。

在示例目录中,有许多其他编程语言的子目录,用于显示如何将它们与 Db2 一起使用。

包含嵌入式SQL的C程序的文件具有扩展名.sqc。

有一个很长的自述文件,以及一些脚本,向您展示如何编译和构建这些程序,展示如何使用SQL预处理器等。

您还可以在免费的 Db2 知识中心在线查看示例,例如,对于 V11.1,此处提供了指向 C 示例(和 SQC 示例(的 URL。

这里有一篇很好的起点文章:

[Db2] 在 Linux 上编译一个简单的 C 应用程序来验证环境
https://www.ibm.com/support/pages/db2-compile-simple-c-application-linux-verify-environment

它是为 RHEL 7.6 和 CentOS 7 编写的。 但它应该与 ubuntu 一起使用。

... snip ...
select.sqc.
-----
#include <stdio.h>
#include <string.h>
#include <sqlca.h>
#include <sqlenv.h>
#include <sqlutil.h>
int main(int argc, char *argv[]){
struct sqlca sqlca;
EXEC SQL BEGIN DECLARE SECTION;
char dbAlias[15];
char deptname[100];
EXEC SQL END DECLARE SECTION;
strcpy(dbAlias, argv[1]);
:
... snip ...
... snip ...
db2 connect to $DBNAME
db2 PREP $CSOURCE.sqc BINDFILE
gcc -I$HOME/sqllib/include -c $CSOURCE.c
gcc -o $CSOURCE $CSOURCE.o -ldb2 -L$HOME/sqllib/lib
db2 bind $CSOURCE.bnd
... snip ...

建议查看文章并按照步骤操作。

希望这有帮助。

最新更新