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

📄 db.pc

📁 linux 上http email 协议分析程序 主要能够处理大数据量的主干网的应用
💻 PC
📖 第 1 页 / 共 5 页
字号:

/*
	SPE SEQUENCE
*/
CSpSeqWeb::CSpSeqWeb()
{
	//prepare();
	m_iS_TR_T_SPESUBMITCONTENT=getS_TR_T_SPESUBMITCONTENT();
	m_iS_TR_T_SPESENPAGE=getS_TR_T_SPESENPAGE();
	
}

CSpSeqWeb::~CSpSeqWeb()
{
}



int CSpSeqWeb::getS_TR_T_SPESUBMITCONTENT()
{
	EXEC SQL BEGIN DECLARE SECTION;
		int i_id;
	EXEC SQL END DECLARE SECTION;
	
	EXEC SQL SELECT S_TR_T_SPESUBMITCONTENT.NEXTVAL INTO :i_id FROM DUAL ;
	
	m_iS_TR_T_SPESUBMITCONTENT=i_id;
	if(checkSqlCode()!=0)
	{
		printf("----------------SELECT S_TR_T_SPESUBMITCONTENT.NEXTVAL [%d]--------------\n",sqlca.sqlcode);
		
		TLog::toErr("SELECT S_TR_T_SPESUBMITCONTENT.NEXTVAL [%d]\n",sqlca.sqlcode);
	}
	
	return (m_iS_TR_T_SPESUBMITCONTENT);
}

int CSpSeqWeb::getS_TR_T_SPESENPAGE()
{
	EXEC SQL BEGIN DECLARE SECTION;
		int i_id;
	EXEC SQL END DECLARE SECTION;
	
	EXEC SQL SELECT S_TR_T_SPESENPAGE.NEXTVAL INTO :i_id FROM DUAL ;
	
	m_iS_TR_T_SPESENPAGE=i_id;
	if(checkSqlCode()!=0)
	{
		printf("SELECT S_TR_T_SPESENPAGE.NEXTVAL [%d]\n",sqlca.sqlcode);
		TLog::toErr("SELECT S_TR_T_SPESENPAGE.NEXTVAL [%d]\n",sqlca.sqlcode);
	}
	
	return (m_iS_TR_T_SPESENPAGE);
}

int CSpSeqWeb::getfkS_TR_T_SPESUBMITCONTENT()
{
	return (m_iS_TR_T_SPESUBMITCONTENT);	
}
int CSpSeqWeb::getfkS_TR_T_SPESENPAGE()
{
	return (m_iS_TR_T_SPESENPAGE);
}





bool CTblEmail::chkDate()
{
	if(m_idate!=TUTime::date())
	{
		close();
		//init();
		m_idate=TUTime::date();
		prepare();
		return true;
	}
	return false;
}

void CTblEmail::close()
{

}

void CTblEmail::prepare()
{

	EXEC SQL BEGIN DECLARE SECTION;
		char c_sql[512];
	EXEC SQL END DECLARE SECTION;
	
	int idiv;
	char tblname[64];
	char yyyymm[6+1];

	strcpy(yyyymm,TUTime::YYYYMM());
	
	if((idiv = readTblDiv("TR_T_MAILACCOUNT",yyyymm))<=0) idiv=DEFAULT_DIV;

	sprintf(tblname,"%s_%s_%02d","TR_T_MAILACCOUNT",yyyymm,m_idate/idiv);
	sprintf(c_sql, "%s %s %s ","INSERT INTO", tblname, "VALUES (:v1,:v2,:v3,:v4,:v5,:v6,:v7)");
	EXEC SQL PREPARE ins_TR_T_MAILACCOUNT from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}

	if((m_idivTR_T_MAILFILE = readTblDiv("TR_T_MAILFILE",yyyymm))<=0) m_idivTR_T_MAILFILE=DEFAULT_DIV;
	sprintf(tblname,"%s_%s_%02d","TR_T_MAILFILE",yyyymm,m_idate/m_idivTR_T_MAILFILE);
	sprintf(c_sql, "%s %s %s ", "INSERT INTO",  tblname ,"VALUES (:v1,:v2,:v3,:v4)");
	EXEC SQL PREPARE ins_TR_T_MAILFILE from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	if((idiv = readTblDiv("TR_T_MAILINFO",yyyymm))<=0) idiv=DEFAULT_DIV;
	sprintf(tblname,"%s_%s_%02d","TR_T_MAILINFO",yyyymm,m_idate/idiv);
	sprintf(c_sql, "%s %s %s ", "INSERT INTO",  tblname, "VALUES (:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9,:v10,:v11)");
	EXEC SQL PREPARE ins_TR_T_MAILINFO from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	sprintf(tblname,"%s_%s_%02d","TR_T_MAILFILE",yyyymm,m_idate/m_idivTR_T_MAILFILE);
	sprintf(c_sql ,"%s %s %s %s ","UPDATE",tblname, "SET MIF_FILESIZE=:v1" ,"WHERE MLF_ID=:v2");
	EXEC SQL PREPARE upd_TR_T_MAILFILE from :c_sql;
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	
	if((idiv = readTblDiv("TR_T_MAILADDRESS",yyyymm))<=0) idiv=DEFAULT_DIV;
	sprintf(tblname,"%s_%s_%02d","TR_T_MAILADDRESS",yyyymm,m_idate/idiv);
	sprintf(c_sql, "%s %s %s ", "INSERT INTO",  tblname, "VALUES (:v1,:v2,:v3,:v4,:v5,:v6)");
	EXEC SQL PREPARE ins_TR_T_MAILADDRESS from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	if((idiv = readTblDiv("TR_T_MAILTEXT",yyyymm))<=0) idiv=DEFAULT_DIV;
	sprintf(tblname,"%s_%s_%02d","TR_T_MAILTEXT",yyyymm,m_idate/idiv);
	sprintf(c_sql, "%s %s %s ", "INSERT INTO",  tblname, "VALUES (:v1,:v2,:v3,:v4,:v5)");
	EXEC SQL PREPARE ins_TR_T_MAILTEXT from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
		
	sprintf(c_sql, "%s %s %s ", "INSERT INTO", "TR_T_SPEMAILFILE", "VALUES (:v1,:v2,:v3,:v4)");
	EXEC SQL PREPARE ins_TR_T_SPEMAILFILE from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	sprintf(c_sql, "%s %s %s ", "INSERT INTO", "TR_T_SPEMAILINFO", "VALUES (:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9,:v10,:v11,:v12)");
	EXEC SQL PREPARE ins_TR_T_SPEMAILINFO from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	sprintf(c_sql, "%s %s %s ", "INSERT INTO", "TR_T_SPEMAILADDRESS", "VALUES (:v1,:v2,:v3,:v4,:v5,:v6)");
	EXEC SQL PREPARE ins_TR_T_SPEMAILADDRESS from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
	
	sprintf(c_sql, "%s %s %s ", "INSERT INTO", "TR_T_SPEMAILTEXT", "VALUES (:v1,:v2,:v3,:v4,:v5)");
	EXEC SQL PREPARE ins_TR_T_SPEMAILTEXT from :c_sql;  
	if(checkSqlCode()!=0)
	{
		TLog::toErr("prepare [%s] [%d]\n",c_sql,sqlca.sqlcode);
	}
		
}


//1:邮件账号
int CTblEmail::insRecord(STRU_TR_T_MAILACCOUNT * prec)
{
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_MAILACCOUNT rec;

	EXEC SQL END DECLARE SECTION;
		
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));

	EXEC SQL execute ins_TR_T_MAILACCOUNT using :rec;
	
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_MAILACCOUNT[%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_MAILACCOUNT[%d]\n",sqlca.sqlcode);
		
		TLog::toErr("[%d]\n",rec.MAC_ID);
		TLog::toErr("[%s]\n",rec.MAC_USERID);
		TLog::toErr("[%s]\n",rec.MAC_PASSWORD);
		TLog::toErr("[%s]\n",rec.MAC_SERVERIP);
		TLog::toErr("[%s]\n",rec.MAC_DOMAINNAME);
		TLog::toErr("[%d]\n",rec.MAC_SERVICE);
		TLog::toErr("[%s]\n",rec.MAC_CAPTIME);
		
	}
	else
		EXEC SQL COMMIT WORK;	
	return sqlca.sqlcode;

}

int CTblEmail::insRecord(STRU_TR_T_MAILFILE *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_MAILFILE rec;

	EXEC SQL END DECLARE SECTION;
	
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));

	//EXEC SQL INSERT INTO TR_T_MAILFILE VALUES (:rec);
	EXEC SQL execute ins_TR_T_MAILFILE using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_MAILFILE [%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_MAILFILE [%d]\n",sqlca.sqlcode);
		
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::updateFileLen(int fileid,int filesize)
{
	EXEC SQL BEGIN DECLARE SECTION;
			int ifileid;
			int ifilesize;
	EXEC SQL END DECLARE SECTION;
	
	ifileid=fileid;
	ifilesize=filesize;
	EXEC SQL execute upd_TR_T_MAILFILE using :ifilesize,:ifileid;
	
	if(checkSqlCode()!=0)
	{
		printf("update TR_T_MAILFILE [%d]\n",sqlca.sqlcode);
		TLog::toErr("update TR_T_MAILFILE [%d]\n",sqlca.sqlcode);
		
	}
	else
		EXEC SQL COMMIT WORK;

	return sqlca.sqlcode;
}


/*
int CTblEmail::updateFileLen(int fileid,int filesize)
{
	EXEC SQL BEGIN DECLARE SECTION;
		
		char stmt[256];
	EXEC SQL END DECLARE SECTION;
	
	char tblname[64];
	char yyyymm[6+1];
	strcpy(yyyymm,TUTime::YYYYMM());

	sprintf(tblname,"%s_%s_%02d","TR_T_MAILFILE",yyyymm,m_idate/m_idivTR_T_MAILFILE);
	sprintf(stmt ,"%s %s %s %d %s %d ","UPDATE",tblname, "SET MIF_FILESIZE=" ,filesize ,"WHERE MLF_ID=",fileid);
	
	//EXEC SQL UPDATE TR_T_MAILFILE SET MIF_FILESIZE=:imif_filesize WHERE MLF_ID=:imlf_id;
	EXEC SQL EXECUTE IMMIDIATE using :stmt; 
	if(checkSqlCode()!=0)
	{
		printf("[%s]error [%d]\n",stmt,sqlca.sqlcode);
		TLog::toErr("[%s][%d]\n",stmt,sqlca.sqlcode);
		
	}
	else
		EXEC SQL COMMIT WORK;
	
	return sqlca.sqlcode;
}
*/




int CTblEmail::updatespFileLen(int filesize)
{
	EXEC SQL BEGIN DECLARE SECTION;

		//int imlf_id;
		int imif_filesize;

	EXEC SQL END DECLARE SECTION;
	
	//imlf_id=fileid;
	imif_filesize=filesize;	
	
	EXEC SQL UPDATE TR_T_SPEMAILFILE SET SMF_FILESIZE=:imif_filesize WHERE SMF_FILESIZE=0;
	
	if(checkSqlCode()!=0)
	{
		printf("UPDATE TR_T_SPEMAILFILE SET SMF_FILESIZE[%d]\n",sqlca.sqlcode);
		TLog::toErr("UPDATE TR_T_SPEMAILFILE SET SMF_FILESIZE[%d]\n",sqlca.sqlcode);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}


int CTblEmail::insRecord(STRU_TR_T_MAILINFO *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_MAILINFO rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));

	//EXEC SQL INSERT INTO TR_T_MAILINFO VALUES (:rec);
	EXEC SQL execute ins_TR_T_MAILINFO using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_MAILINFO[%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_MAILINFO[%d]\n",sqlca.sqlcode);
		TLog::toErr("[%d]\n",prec->MIF_ID);
		TLog::toErr("[%d]\n",prec->MLF_ID);
		TLog::toErr("[%s]\n",prec->MIF_DATE);
		TLog::toErr("[%s]\n",prec->MIF_SUBJECT);
		TLog::toErr("[%d]\n",prec->MIF_PROTOCOL);
		TLog::toErr("[%s]\n",prec->MIF_CLIENTIP);
		TLog::toErr("[%s]\n",prec->MIF_SERVERIP);
		TLog::toErr("[%s]\n",prec->MIF_CAPTIME);
		TLog::toErr("[%s]\n",prec->MIF_CLNTLOCATION);
		TLog::toErr("[%s]\n",prec->MIF_CLNTACCOUNT);
		TLog::toErr("[%s]\n",prec->MIF_CLNTCALLID);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_MAILADDRESS *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_MAILADDRESS rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_MAILADDRESS using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_MAILADDRESS[%d]\n",sqlca.sqlcode);
		
		TLog::toErr("ADM_ID [%d]\n",rec.ADM_ID);  
		TLog::toErr("MIF_ID [%d]\n",rec.MIF_ID);
		TLog::toErr("ADM_ADDRESS [%s]\n",rec.ADM_ADDRESS);
		TLog::toErr("ADM_MAILROLE [%d]\n",rec.ADM_MAILROLE);
		TLog::toErr("ADM_SHOWNAME [%s]\n",rec.ADM_SHOWNAME);
		TLog::toErr("ADM_ISCLIENT [%d]\n",rec.ADM_ISCLIENT);
	
		TLog::toErr("INSERT INTO TR_T_MAILADDRESS[%d]\n",sqlca.sqlcode);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_MAILTEXT *prec)
{	
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_MAILTEXT rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_MAILTEXT using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_MAILTEXT[%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_MAILTEXT[%d]\n",sqlca.sqlcode);
		TLog::toErr("[%d]\n",rec.MTX_ID );
   		TLog::toErr("[%d]\n",rec.MIF_ID);
   		TLog::toErr("[%s]\n",rec.MTX_CONTENTTYPE);
   		TLog::toErr("[%s]\n",rec.MTX_CHARSET);
   		TLog::toErr("[%s]\n",rec.MTX_TEXTBODY);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_SPEMAILFILE *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_SPEMAILFILE rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_SPEMAILFILE using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_SPEMAILFILE [%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_SPEMAILFILE [%d]\n",sqlca.sqlcode);
		TLog::toErr("[%d]",rec.SMF_ID);
   		TLog::toErr("[%s]",rec.SMF_ORIGINALFILE);
   		TLog::toErr("[%d]",rec.SMF_FILEBEGIN);
   		TLog::toErr("[%d]",rec.SMF_FILESIZE);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_SPEMAILINFO *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_SPEMAILINFO rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_SPEMAILINFO using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_SPEMAILINFO [%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_SPEMAILINFO [%d]\n",sqlca.sqlcode);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_SPEMAILADDRESS *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_SPEMAILADDRESS rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_SPEMAILADDRESS using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_SPEMAILADDRESS [%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_SPEMAILADDRESS [%d]\n",sqlca.sqlcode);
		
		TLog::toErr("[%d]",rec.SMA_ID);
   		TLog::toErr("[%d]",rec.SMI_ID);
   		TLog::toErr("[%d]",rec.SMA_MAILROLE);
   		TLog::toErr("[%s]",rec.SMA_SHOWNAME);
   		TLog::toErr("[%s]",rec.SMA_ADDRESS);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}

int CTblEmail::insRecord(STRU_TR_T_SPEMAILTEXT *prec)
{ 
	EXEC SQL BEGIN DECLARE SECTION;

		DBSTRU_TR_T_SPEMAILTEXT rec;

	EXEC SQL END DECLARE SECTION;
			
	memcpy((char *)(void *)&rec,(char *)(void *)prec,sizeof(rec));
	EXEC SQL execute ins_TR_T_SPEMAILTEXT using :rec;
	if(checkSqlCode()!=0)
	{
		printf("INSERT INTO TR_T_SPEMAILTEXT [%d]\n",sqlca.sqlcode);
		TLog::toErr("INSERT INTO TR_T_SPEMAILTEXT [%d]\n",sqlca.sqlcode);
	}
	else
		EXEC SQL COMMIT WORK;
	return sqlca.sqlcode;
}



CTblEmail::CTblEmail()
{
	m_idate=TUTime::date();
	prepare();
}

CTblEmail::~CTblEmail()
{
}

CTblWebApp::CTblWebApp()
{
	m_bcur_TR_T_SUBMITRULE=false;
	m_bcur_TR_T_WEBMONRULE=false;
	m_bcur_TR_T_SUBMITRULE1=false;
	

}
CTblWebApp::~CTblWebApp()
{
	
	
}

CTblWeb::CTblWeb()
{
	m_idate=TUTime::date();
	prepare();
}

CTblWeb::~CTblWeb()
{
	
}

void CTblWeb::updateSUBMIT(int id)
{

	EXEC SQL BEGIN DECLARE SECTION;
		
		int s_id;
	EXEC SQL END DECLARE SECTION;
	
	s_id=id;
	
	EXEC SQL EXECUTE upd_TR_T_SENPAGE using :s_id; 
	
	if(checkSqlCode()!=0)
	{
		printf("update TR_T_SENPAG errcode=[%d] \n",sqlca.sqlcode);
	
		TLog::toErr(" update TR_T_SENPAG errcode=[%d] \n",sqlca.sqlcode);
	}
	else
		EXEC SQL COMMIT WORK;
	/*EXEC SQL BEGIN DECLARE SECTION;
		char stmt[256];
	EXEC SQL END DECLARE SECTION;
	char tblname[64];

⌨️ 快捷键说明

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