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

📄 lib.cpp

📁 在动态库中实现异步导出大数据量的oracle数据
💻 CPP
字号:
#include "stdafx.h"

#include "ocicpp.h"#include <stdio.h> #include <ctype.h> #include <errno.h> #include <sys/types.h> //#include <sys/socket.h> //#include <sys/file.h> //#include <sys/ioctl.h> //#include <sys/wait.h> #include <sys/types.h> #include <string.h>#include <stdlib.h>//#include <unistd.h>using  std::string;using namespace OCICPP;extern Connection con;char * TrimBegin(char* pch);char *TrimEnd(char* pch);char* Trim(char *pch);void writeprocesslog(char *ProcessName,int RtnCode,char *ErrMsg){	time_t now;	struct tm  *timelog;  	char chrlogtm[50];	char chrsql[1000],temp[1000];		if(strlen(ErrMsg)>700)	{		memcpy(temp,ErrMsg,700);		strcpy(ErrMsg,temp);	}	time(&now);	timelog = localtime(&now); 	sprintf(chrlogtm,"%04d-%02d-%02d %02d:%02d:%02d",timelog->tm_year+1900,timelog->tm_mon+1,timelog->tm_mday,timelog->tm_hour,timelog->tm_min,timelog->tm_sec);				sprintf(chrsql,"INSERT INTO TB_PROCESS_LOG(ID,ACT_DATE,PROCESS_NAME,PROCESS_STATE,PROCESS_RESULT) VALUES(SEQ_USER_LOG.nextval,'%s','%s','%d','%s')",chrlogtm,ProcessName,RtnCode,ErrMsg);	con.execUpdate(chrsql);	con.transCommit();		strcpy(chrsql,"update TB_PROCESS_INFO set PROCESSSTATE='2' WHERE type='1'");	con.execUpdate(chrsql);	con.transCommit();	}	bool GetInitInfo(const char* pchkey,const char *pchfilename,string &strkeyvalue){	char sztempkey[32];  char buf[64];  memset(buf,0x00,64);  memset(sztempkey,0x00,32);  FILE *fp = NULL;  if((fp = fopen(pchfilename,"r"))==NULL)  {  	printf("can not open configure file\n");  	return false;  }	while(fgets(buf,64,fp)!=NULL)	{		Trim(buf);    int nLen = strlen(buf);    if ( 0 == nLen)    	continue;    int i = 0;    for( i = 0; i<nLen;i++)    {      if(buf[i]== '=')        break;    }    if (i >= nLen -1)    	continue;    memcpy(sztempkey,buf,i);    sztempkey[i+1] ='\0';    Trim(sztempkey);    if(!strcmp(sztempkey,pchkey))    {      memmove(buf,buf+i+1,nLen-1-i);      buf[nLen-i-2] = '\0';      Trim(buf);      strkeyvalue = buf;      break;     }		else		{      continue;		}	}  fclose(fp);  fp = NULL;  return true;}char * TrimBegin(char* pch){        if(pch == NULL || pch[0] ==0)        {                return pch;        }        int i = 0;        int nLen = strlen(pch);        for(i = 0; i < nLen; i++)        {                if(pch[i]!=0x20)                {                        break;                }        }        memmove(pch,pch+i,nLen-i);        memset(pch+(nLen-i),0x00,i);        return pch;}char *TrimEnd(char* pch){        int i = 0;        if(pch ==NULL||pch[0]==0)        {                return pch;        }        int nLen = strlen(pch);        for(i = nLen-1; i>=0; i--)        {                if(pch[i]!=0x20)                        break;        }        if(i<nLen-1)                *(pch+1+i) = '\0';        return pch;}char* Trim(char *pch){        if(pch ==NULL || pch[0] == 0)                return pch;        return TrimBegin(TrimEnd(pch));}

⌨️ 快捷键说明

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