⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbserv.pc

📁 TUXEDO连接数据库的例子
💻 PC
字号:
#include <stdio.h>
#include <stdlib.h>
#include <atmi.h>
#include <userlog.h>

EXEC SQL INCLUDE sqlca;

EXEC SQL BEGIN DECLARE SECTION;
	long al_empno=0;
	char ac_ename[11]="";	
	EXEC SQL VAR  ac_ename 		IS STRING(11);	
EXEC SQL END DECLARE SECTION;

int tpsvrinit(int argc,char** argv)
{
    EXEC SQL BEGIN DECLARE SECTION;
        VARCHAR username[20];
        VARCHAR password[20];
	char db_link_name[20];
	VARCHAR db_name[20];
    EXEC SQL END DECLARE SECTION;
  
    strcpy(username.arr,"cncnms");
    username.len = strlne(username.arr);
    strcpy(password.arr,"cncnms");
    password.len = strlen(password.arr);
    strcpy(db_name.arr, "cncnms");
    db_name.len=strlen(db_name.arr);
    strcpy (db_link_name,"cncnms.irwin");

    EXEC SQL WHENEVER SQLERROR GOTO sqlerror;
    EXEC SQL CONNECT :username IDENTIFIED BY :password AT :db_link_name USING :db_name;

sqlerror:
    EXEC SQL WHENEVER SQLERROR CONTINUE; 
    userlog("tpsvrinit connect db sqlcode=[%d] err=[%s]",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
    return(0);
}

void tpsvrdone()
{
    EXEC SQL COMMIT WORK RELEASE;
    if(sqlca.sqlcode)
       userlog( " Close database failed sqlcode=[%d]",sqlca.sqlcode);
    else
       userlog( "tpsvrdone(): Shutdown server successful!" );
}

DBCONNECT(TPSVCINFO *rqst)
{
	char temp[100]="";
	char *pos;

	/*接收客户端来的数据*/
	strcpy(temp,rqst->data);
	pos=strchr(temp,'&');
	strcpy(ac_ename,pos+1);
	*pos=0;
	al_empno = atol(temp);
	
	userlog("al_empno:%d",al_empno);
	userlog("ac_ename:%s",ac_ename);
	
	strcpy(temp,"111,'abcd'");
	
	EXEC SQL INSERT INTO XU_TEST(ID,NAME) VALUES(:al_empno,:ac_ename);
	/*EXEC SQL INSERT INTO XU_TEST(ID,NAME) VALUES(temp);*/
	EXEC SQL COMMIT;
	if(sqlca.sqlcode!=0)
	{ 
		userlog("select from XU_TEST failu re,sqlcode=%ld, sqlerr=%s\n",
		                              sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc);
		strcpy(rqst->data,sqlca.sqlerrm.sqlerrmc);
		tpreturn( TPFAIL, 0, rqst->data, 0, 0 );
	}
	/*把取出的结果返回给客户端*/
	tpreturn( TPSUCCESS, 0, rqst->data, 0, 0 );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -