📄 datasplit.h
字号:
/******************************************主程序头文件*****************************************/
struct PFILE /*存放EXP参数文件生成需要的部分内容*/
{
char USERID[60]; /*用户名、密码和服务名*/
char TABLE[60]; /*需EXP的表名*/
char QUERY[256]; /*QUERY查询语句*/
char PARTITION[30]; /*指定EXP的分区*/
char parFileName[80];
char dmpFileName[80];
char logFileName[80];
};
struct Tab_Parameter
{
char Table_Name[41];
char On_System[3];
char Do_Class;
int Reserve_Months;
char Account_Date[7];
};
struct suCrtTabIdx
{
char Index_Name[41];
char sql_script[2001];
};
int WriteLog(char *pstrLine); /*写日志*/
int WritePFile(struct PFILE *pFile);
int WritePFileHisDmp(struct PFILE *pFile);
int GetSysTime(char* pstrDate); /*取系统时间*/
char* GetNAYMonth(char szAccountDate[7],int n); /*求出指定年月的N个月前的年月,返回六位的年月*/
int getBYMonth(); /*从billing_cycle表中取得当前帐务月*/
int ConnectDB(char dataSource[]);/*连接源数据库*/
int ReleaseDB(); /*回滚并断开连接*/
int CommitWork(); /*提交事务*/
int RollbackWork(); /*回滚事务*/
int TruncateTab(char szTabName[]); /*清除表数据*/
int TruncatePartition(char szTName[],char szPName[]);/*清除表中某个分区的数据*/
long CountRows(char szSQL[]); /*统计记录数*/
char* getPartition(char szTName[],char szHValue[]); /*从视图user_tab_partitions中根据所给的表名和HIGH值获取分区名*/
long readLogFile(char *szFileName); /*读日志文件判断EXP或IMP是否成功*/
long expData(struct PFILE *pFile);
long expDataHisDmp(struct PFILE *pFile);
int crtZjTmpTab(); /*创建自缴倒换用的临时表*/
int crtIndex(char szTName[],char szNewTName[]); /*给详单表建索引*/
int SaveHisDmpInfo(char *pTabName,char *pPartName,char *pDmpFile,long lRows);/*取分区*/
int DropAllIndexes(char szTabName[]);
int CrtOnlineTemp(char *pTabName);
int CrtOnlineTempTab(char *pTabName,char *pPartName); /*创建临时表*/
int CrtHisTempTab(char *pTabName,char *pPartName); /*创建His临时表*/
int CrtOnlinePayment(char *pTabName,char *pPartName); /*创建临时表*/
int CrtHisPayment(char *pTabName,char *pPartName); /*创建His临时表*/
int CrtOnlineReport(char *pTabName,char *pPartName,char *pYear,char *pMonth);/*创建临时表*/
int CrtHisReport(char *pTabName,char *pPartName,char *pYear,char *pMonth); /*创建His临时表*/
int CrtStat(char *pTabName,char *pAccount_date); /*创建His临时表*/
int CrtPublicTab(char *pTabName,char *pFlag); /*创建公免临时表*/
int GetCrtIndexSql(char *pTabName,char *pFlag);
int CrtTabIdx(char *pTabName);
int DropTempTab(char *pTabName);
int CrtPrepayDetail(char *pTabName,char *pFlag);
int CrtWorkOrder(char *pTabName,char *pFlag);
int DelBackBlank(char *pstr); /*删除字串后面的空格*/
int CheckTab(char *pTabName); /*检查库中是否己有该表*/
int GetAccountDate(char cAccountDate[60][9],char *pTabName);
int DelTempTabRecord();
int DelTempTabBackPay();
int IntTempTabPrepay();
int DoAClass();
int DoAClassPublic();
int DoBClass();
int DoCClass();
int DoDClass();
int DoEClass();
int DoFClass();
int DoGClass();
struct suCrtTabIdx g_suCrtTabIdx[10]; /*重建旧表的索引,支持最大10个索引*/
char g_strLogLine[256]; /*写日志文件的行内容*/
/*本次要处理的帐务年月,从billing_cycle表中取到当前帐务月,对应acct_item表的account_date字段,以YYYYMM表示*/
char g_strYearMonth[7],g_strPreYMonth[7];
/*连库的用户*/
char g_strDestDB[60],g_strSrcDB[60],g_strTempDB[60],g_strTempUser[30];
/*公免参数*/
char g_strPublic[10];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -