簡體   English   中英

搭建 Linux-C-DB2 環境

[英]Setting up Linux-C-DB2 environment

我正在嘗試建立一個學習環境:編寫和測試簡單的 C 程序以在 Ubuntu 18.04 上執行 DB2 數據庫操作。 系統。

我在網絡教程和 IBM 頁面的幫助下安裝了 DB2,從安裝程序接收了數據庫信息,在 Gedit 中編寫了簡單的程序。

我用 Gnu C Compiler (gcc) 編譯了最簡單的程序。

一旦編譯器遇到“EXEC SQL...”行,它就會終止並報告錯誤。

我要使這件事發揮作用的下一步是什么?

您還可以從 IBM 提供的示例嵌入式 SQL 程序中學習,這些程序隨 Linux 上的 Db2 一起提供(默認情況下)。

它們位於實例所有者主目錄的示例子目錄中(例如 /home/db2inst1/samples/c。

在示例目錄中有許多其他編程語言的子目錄,以展示如何將它們與 Db2 結合使用。

包含用於 C 程序的嵌入式 SQL 的文件的擴展名為 .sqc。

有一個很長的 README,以及一些向您展示如何編譯和構建這些程序、展示如何使用 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 ...

建議查看文章並按照步驟操作。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM