tpsvrinit(int argc, char *argv[])
{
int i;
char link[30];
for(i=1; i<argc; i++) if(!strcmp(argv[i], "--")) break;
/****tuxedo服务器的命令行参数是通过配置文件中的CLOPT参数提供的,*****/
/****clopt同时为main()和tpsvrinit提供参数,被"--"分成两部分,前部分由main处理,后半部有tpsvrinit处理*****/
/****login ORACLE*****/
strcpy(link,argv[i+1]);
/***** Connect to the DB****/
EXEC SQL CONNECT :link;
if ( sqlca.sqlcode!=0 )
{
userlog("openoh: Connect to DB failed\n");
return 0;
}
return 0;
}
2,写在 服务器端 ,通过 pro*c连接
exec sql begin declare section;
varchar usr[10];
varchar pwd[10];
varchar host[10];
char db_code[10];
char db_string[50];
int db_id;
int id;
varchar airecode[10];
varchar origin[10];
varchar destination[10];
exec sql end declare section;
int tpsvrinit(int argc, char *argv[])
{
argc = argc;
argv = argv;
/***** 连接ORACLE *****/
strcpy((char *)usr.arr,"tktdev");
usr.len=strlen((char *)usr.arr);
strcpy((char *)pwd.arr,"tktdev");
pwd.len=strlen((char *)pwd.arr);
strcpy((char *)host.arr,"TTLORAE1");
host.len=strlen((char *)host.arr);
EXEC SQL connect :usr IDENTIFIED BY :pwd USING :host;
if (sqlca.sqlcode !=0)
{
userlog( "Oracle err: %s",sqlca.sqlerrm.sqlerrmc);
return -1;
}
userlog("svrSelect connected to oracle\n");
return(0);
}
3,
Ø 长连接,通过ubb连接
改*GROUPS节的配置为:(scott/tiger为本数据库所采用的用户及口令,可根据需要更改)
*GROUPS
GROUP1 LMID=simple GRPNO=1
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."
TMSNAME="TMS_ORA8i" TMSCOUNT=2
程序中调用如下
tpsvrinit(int argc, char *argv[])
{
argc = argc;
argv = argv;
/* userlog writes to the central TUXEDO message log */
userlog("Welcome to the simple server");
if (tpopen() == -1)
{
printf("connect to Oracle error\n");
return -1;
}
printf("connected to oracle\n");
return(0);
}
关闭服务:
void tpsvrdone()
{
if (tpclose() == -1)
{
printf("disconnect to Oracle error\n");
return;
}