db2 sqc 入门

参考网上的例子:感谢他们无私的贡献

#include <sqlca.h>  
EXEC SQL include sqlca;
int check_error( char szMessage[] )
{
    if( sqlca.sqlcode )
    {
        printf( "check error report: \n" );
        printf( "Error occured: %s, sqlcode=[%d]\n",
            szMessage, sqlca.sqlcode );
        return 1;
    }

    return 0;
}

int db2_login(int flag,char *user,char *pass, char *dbname)   

    int rc;
    EXEC SQL BEGIN DECLARE SECTION;  
        char _user[50];  
        char _pass[50];  
        char _dbname[50];  
    EXEC SQL END   DECLARE SECTION;  
 
    memset(_user,0,sizeof(_user) );  
    memset(_pass,0,sizeof(_pass) );  
    memset(_dbname,0,sizeof(_dbname) );  
    strcpy(_dbname, dbname);  

    if( 1== flag )  
    {  
        EXEC SQL CONNECT TO:_dbname ;  
    }  
    else
    {
        if( 3== flag )
        {
            strcpy( _user, user );
            strcpy( _pass, pass );
            EXEC SQL CONNECT TO :_dbname USER :_user USING :_pass;
        }
    }


    rc = check_error( "CONNECT TO DATABASE" );
    return rc;
}

 

int main( void )
{
    int rc;
    rc = db2_login( 3, "db2inst1", "xxxx", "TEST" );
    printf( "rc = [%d] \n", rc );
    return 0;
}

 

makefile:

DB2INC=/var/ibm/db2/V9.7/include
DB2LIB=/var/ibm/db2/V9.7/lib32
demo:demo.sqc
    @db2 connect to test  
    @db2 prep demo.sqc 
    @gcc -v demo.c -I$(DB2INC) -L$(DB2LIB) -ldb2   -o demo    
    @rm -rf demo.c 

转载于:https://www.cnblogs.com/kwingmei/p/3424342.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值