📄 test.cpp
字号:
#include <stdio.h>#include <atmi.h>#include <userlog.h>#include <fml32.h>#include "tbl_fml.h"EXEC SQL INCLUDE sqlca;/*RELEASE_CURSOR=YES 使PROC 在执行后释放与嵌入SQL有关资源*/EXEC ORACLE OPTION (RELEASE_CURSOR = YES); #define SQLNOTFOUND 1403 /*SELECT没取到数据*/#define SQLNULL -1405 /*当取出的值是null时,sqlca.sqlcode = -1405*/#define _DEBUG_ 1 /*调试*/EXEC SQL BEGIN DECLARE SECTION; varchar vc_user[20]; long al_empno=0; long al_mgr=0; long al_deptno=0; char ac_ename[11]=""; char ac_job[10]=""; char ac_hiredate[20]=""; double af_sal=0; double af_comm=0; long l_errno=0; long l_return=0; char c_errtext[256]=""; EXEC SQL VAR ac_ename IS STRING(11); EXEC SQL VAR ac_job IS STRING(11); EXEC SQL VAR ac_hiredate IS STRING(11); EXEC SQL END DECLARE SECTION;/*出错返回*/int tux_return(FBFR32 *sendbuf, char *szErr,long sqlcode,char *szSqlerr ){ FLDLEN32 len=0; len=sizeof(szErr); (void)Fchg32(sendbuf, TUXERRTEXT, 0,szErr, len); len = sizeof(sqlcode); Fchg32( sendbuf, SQLERRCODE, 0, (char *)&sqlcode, len); len=sizeof(szSqlerr); (void)Fchg32(sendbuf, SQLERRTEXT, 0,szSqlerr, len); userlog("err=%s,sqlcode=%ld, sqlerr=%s\n",szErr,sqlcode,szSqlerr); tpreturn(TPFAIL, 0, (char *)sendbuf, 0L, 0); return 0; } #if defined(__STDC__) || defined(__cplusplus)tpsvrinit(int argc, char *argv[])#elsetpsvrinit(argc, argv)int argc;char **argv;#endif{ /* Some compilers warn if argc and argv aren't used. */ argc = argc; argv = argv; userlog("*******************tpsvcinit()\n"); if(tpopen()==-1) { userlog("tpopen() failure:%s\n",tpstrerror(tperrno)); return -1; } return(0);}/* This function performs the actual service requested by the client. Its argument is a structure containing among other things a pointer to the data buffer, and the length of the data buffer.*/void tpdone(){ if(tpclose()==-1) userlog("tpdone() failure:%s\n",tpstrerror(tperrno)); }TEST(TPSVCINFO *rqst){ if(tpbegin(60,0)==-1) { printf("tpbegin() fail\n"); exit(1); } userlog("*****************begin sleep\n"); sleep(150); userlog("*****************end sleep\n"); EXEC SQL insert into emp(empno,ename) values(1000,'demo'); if (sqlca.sqlcode != 0) { userlog("update emp fail,sqlcode=%ld,sqlerr=%s\n",sqlca.sqlcode,(char *)sqlca.sqlerrm.sqlerrmc); tpreturn( TPFAIL, 0, NULL, 0, 0 ); } if(tpcommit(0) == -1) { userlog("tpcommit() fail=%s\n",tpstrerror(tperrno)); tpreturn( TPFAIL, 0, NULL, 0, 0 ); } tpreturn( TPSUCCESS, 0, NULL, 0, 0 );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -