db2 sqc 入门

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

#include <sqlca.h>  
EXEC SQL include sqlca;
int check_error( char szMessage[] )
{
    if( sqlca.sqlcode )
    {
        printf( "check error report: " );
        printf( "Error occured: %s, sqlcode=[%d] ",
            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] ", 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