我有以下代码。当我执行 db2 prep file1 时它工作正常但最后没有打印出再见当我尝试使用 C 编译器将它作为 ./file1 运行时,它无法识别我在 db2 上执行此操作的 EXEC
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sqlutil.h>
#include <sqlenv.h>
#include <sql.h>
#include <sqlcodes.h>
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
short sage;
short sid;
char sname[16];
EXEC SQL END DECLARE SECTION ;
#define CHECK_SQL( code, text_string, eExit)
{
if( rc ==0)
printf("rc was 0\n");
if(sqlca.sqlcode != 0)
printf("just checked sqlca.sqlcode %s \n", sqlca.sqlcode);
if(sqlca.sqlcode ==0)
printf("well sqlcode is 0\n");
}
int main(int argc, char *argv[])
{
if (argc>1)
printf("we have an input\n");
else {
printf("please print something\n");
exit(0);
}
EXEC SQL CONNECT TO NAME;
CHECK_SQL(0, "Connect failed", EXIT);
printf("bye\n");
}
我知道当我做 db2 准备文件时,它会创建一个 file.C,然后我需要单独编译该文件。但其中有很多链接错误。我检查了 db2 网站,它说我需要在包含的文件之间创建一个 dll。请帮忙。