📄 db.pc
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/*
#include <sybtesql.h>
#include <sybhesql.h>
*/
#include <time.h>
#include <unistd.h>
#include <math.h>
#include "RSOPpub.h"
EXEC SQL INCLUDE SQLCA;
EXEC SQL INCLUDE "RSOPsql.h";
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL WHENEVER SQLWARNING CONTINUE;
EXEC SQL WHENEVER NOT FOUND CONTINUE;
short int siDbConnect()
{
EXEC SQL BEGIN DECLARE SECTION;
char szDbUser[64];
char szDbPass[64];
char szConnection[64];
char szDbName[64];
char szServer[64];
EXEC SQL END DECLARE SECTION;
FILE *pFp = NULL;
char szInline[256];
short int siResp;
short int siLen;
char szRPTS_CFG_FILE[128];
memset(szRPTS_CFG_FILE,0,sizeof(szRPTS_CFG_FILE));
strcpy(szRPTS_CFG_FILE, getenv("RPTS_CFG_FILE"));
siTrimsC_all(szRPTS_CFG_FILE,' ');
if((pFp=fopen(szRPTS_CFG_FILE,"r"))==NULL)
{
printf("open CFGFILE [%s] error!\n[%s][%d]",
szRPTS_CFG_FILE,__FILE__,__LINE__);
return(-1);
}
memset(szInline,0,sizeof(szInline));
memset(szDbUser,0,sizeof(szDbUser));
memset(szDbPass,0,sizeof(szDbPass));
memset(szDbName,0,sizeof(szDbName));
memset(szServer,0,sizeof(szServer));
memset(szConnection,0,sizeof(szConnection));
while(fgets(szInline,255,pFp))
{
if(memcmp("DBUSER:",szInline,strlen("DBUSER:"))==0)
{
siLen = strlen(szInline);
memcpy(szDbUser,szInline+strlen("DBUSER:"),siLen-strlen("DBUSER:")-1);
siResp = siTrimsC(szDbUser,' ');
}
else if(memcmp("DBPASS:",szInline,strlen("DBPASS:"))==0)
{
siLen = strlen(szInline);
memcpy(szDbPass,szInline+strlen("DBPASS:"),siLen-strlen("DBPASS:")-1);
siResp = siTrimsC(szDbPass,' ');
}
else if(memcmp("DBNAME:",szInline,strlen("DBNAME:"))==0)
{
siLen = strlen(szInline);
memcpy(szDbName,szInline+strlen("DBNAME:"),siLen-strlen("DBNAME:")-1);
siResp = siTrimsC(szDbName,' ');
}
else if(memcmp("DBSERVER:",szInline,strlen("DBSERVER:"))==0)
{
siLen = strlen(szInline);
memcpy(szServer,szInline+strlen("DBSERVER:"),siLen-strlen("DBSERVER:")-1);
siResp = siTrimsC(szServer,' ');
}
else if(memcmp("DBCONNECT:",szInline,strlen("DBCONNECT:"))==0)
{
siLen = strlen(szInline);
memcpy(szConnection,szInline+strlen("DBCONNECT:"),siLen-strlen("DBCONNECT:")-1);
siResp = siTrimsC(szConnection,' ');
break ;
}
}
fclose(pFp);
#ifdef RSOP_BAT_DEGUB
printf("[%s] [%s] [%s] [%s] [%s]\n",
szDbUser,szDbPass,szDbName,szServer,szConnection);
#endif
EXEC SQL CONNECT :szDbUser IDENTIFIED BY :szDbPass AT :szConnection using :szServer;
if (sqlca.sqlcode != 0)
{
printf("connect to sybase server failed:%s\n", sqlca.sqlerrm.sqlerrmc);
return(-1);
}
EXEC SQL USE :szDbName;
if (sqlca.sqlcode != 0)
{
printf("Change current database to %s failed:%s\n",
szDbName, sqlca.sqlerrm.sqlerrmc);
return(-1);
}
EXEC SQL SET CHAINED OFF;
if (sqlca.sqlcode != 0)
{
printf("set transaction mode failed:%s\n", sqlca.sqlerrm.sqlerrmc);
return(-1);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -