📄 dbserv.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 + -