/* Result Sets Interface */
#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned int magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
/* Object support */
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
/* Binding to PL/SQL Records */
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
/* File name & Package Name */
struct sqlcxp
{
unsigned short fillen;
char filnam[13];
};
static const struct sqlcxp sqlfpn =
{
12,
"oracledao.pc"
};
static unsigned int sqlctx = 314595;
static struct sqlexd {
unsigned long sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
unsigned char **sqphsv;
unsigned long *sqphsl;
int *sqphss;
short **sqpind;
int *sqpins;
unsigned long *sqparm;
unsigned long **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
unsigned int sqlcmax;
unsigned int sqlcmin;
unsigned int sqlcincr;
unsigned int sqlctimeout;
unsigned int sqlcnowait;
int sqfoff;
unsigned int sqcmod;
unsigned int sqfmod;
unsigned char *sqhstv[6];
unsigned long sqhstl[6];
int sqhsts[6];
short *sqindv[6];
int sqinds[6];
unsigned long sqharm[6];
unsigned long *sqharc[6];
unsigned short sqadto[6];
unsigned short sqtdso[6];
} sqlstm = {12,6};
// Prototypes
extern "C" {
void sqlcxt (void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlcx2t(void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlbuft(void **, char *);
void sqlgs2t(void **, char *);
void sqlorat(void **, unsigned int *, void *);
}
// Forms Interface
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(char *, int *); }
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
/* cud (compilation unit data) array */
static const short sqlcud0[] =
{12,4130,852,0,0,
5,0,0,0,0,0,60,46,0,0,0,0,0,1,0,
20,0,0,0,0,0,58,47,0,0,1,1,0,1,0,3,109,0,0,
39,0,0,1,0,0,27,50,0,0,4,4,0,1,0,1,97,0,0,1,10,0,0,1,10,0,0,1,10,0,0,
70,0,0,2,0,0,30,59,0,0,0,0,0,1,0,
85,0,0,3,133,0,3,88,0,0,6,6,0,1,0,1,97,0,0,1,97,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
1,3,0,0,
124,0,0,4,0,0,29,98,0,0,0,0,0,1,0,
};
// 实现Oracle数据访问对象类
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#include "oracledao.h"
/* exec sql include sqlca;
*/
/*
* $Header: sqlca.h 24-apr-2003.12:50:58 mkandarp Exp $ sqlca.h
*/
/* Copyright (c) 1985, 2003, Oracle Corporation. All rights reserved. */
/*
NAME
SQLCA : SQL Communications Area.
FUNCTION
Contains no code. Oracle fills in the SQLCA with status info
during the execution of a SQL stmt.
NOTES
**************************************************************
*** ***
*** This file is SOSD. Porters must change the data types ***
*** appropriately on their platform. See notes/pcport.doc ***
*** for more information. ***
*** ***
**************************************************************
If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA
will be defined to have this storage class. For example:
#define SQLCA_STORAGE_CLASS extern
will define the SQLCA as an extern.
If the symbol SQLCA_INIT is defined, then the SQLCA will be
statically initialized. Although this is not necessary in order
to use the SQLCA, it is a good pgming practice not to have
unitialized variables. However, some C compilers/OS's don't
allow automatic variables to be init'd in this manner. Therefore,
if you are INCLUDE'ing the SQLCA in a place where it would be
an automatic AND your C compiler/OS doesn't allow this style
of initialization, then SQLCA_INIT should be left undefined --
all others can define SQLCA_INIT if they wish.
If the symbol SQLCA_NONE is defined, then the SQLCA variable will
not be defined at all. The symbol SQLCA_NONE should not be defined
in source modules that have embedded SQL. However, source modules
that have no embedded SQL, but need to manipulate a sqlca struct
passed in as a parameter, can set the SQLCA_NONE symbol to avoid
creation of an extraneous sqlca variable.
MODIFIED
lvbcheng 07/31/98 - long to int
jbasu 12/12/94 - Bug 217878: note this is an SOSD file
losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set
Clare 12/06/84 - Ch SQLCA to not be an extern.
Clare 10/21/85 - Add initialization.
Bradbury 01/05/86 - Only initialize when SQLCA_INIT set
Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option.
*/
#ifndef SQLCA
#define SQLCA 1
struct sqlca
{
/* ub1 */ char sqlcaid[8];
/* b4 */ int sqlabc;
/* b4 */ int sqlcode;
struct
{
/* ub2 */ unsigned short sqlerrml;
/* ub1 */ char sqlerrmc[70];
} sqlerrm;
/* ub1 */ char sqlerrp[8];
/* b4 */ int sqlerrd[6];
/* ub1 */ char sqlwarn[8];
/* ub1 */ char sqlext[8];
};
#ifndef SQLCA_NONE
#ifdef SQLCA_STORAGE_CLASS
SQLCA_STORAGE_CLASS struct sqlca sqlca
#else
struct sqlca sqlca
#endif
#ifdef SQLCA_INIT
= {
{'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '},
sizeof(struct sqlca),
0,
{ 0, {0}},
{'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
#endif
;
#endif
#endif
/* end SQLCA */
/* exec sql begin declare section; */
sql_context g_context;
char g_userpwd[30];
/*
create sequence dmslog_id;
create table dmslog (
id number primery key,
logname varchar2(32),
logip varchar2(32),
pid number,
logintime date,
logouttime date,
durations number
);
*/
struct DLogRec {
char logname[32];
char logip[32];
int pid;
char logintime[52];
char logouttime[52];
int durations;
} g_log = {"", "", 0, "", "", 0};
/* exec sql end declare section; */
// 构造器
OracleDao::OracleDao (
const string& username, // 数据库用户
const string& password // 数据库口令
) throw (DBException) {
cout << "打开数据库开始..." << endl;
sprintf (g_userpwd, "%s/%s",
username.c_str (), password.c_str ());
/* exec sql enable threads; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 0;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )5;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
没有合适的资源?快使用搜索试试~ 我知道了~
dms.tar.gz_数据挖掘系统
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 69 浏览量
2022-09-24
19:34:11
上传
评论
收藏 542KB GZ 举报
温馨提示
共105个文件
cpp:29个
h:29个
o:28个
数据挖掘系统 实现计费统计 用户登录 退出登录时长统计等
资源推荐
资源详情
资源评论
收起资源包目录
dms.tar.gz_数据挖掘系统 (105个子文件)
wtmpx.bak 2.51MB
wtmpx.bak 2.51MB
client 66KB
client 52KB
client-qt 25KB
oracledao.cpp 15KB
logreader.cpp 6KB
logreader.cpp 6KB
socketsender.cpp 3KB
moc_workthread.cpp 3KB
moc_workthread.cpp 3KB
socketsender.cpp 3KB
moc_clientdlg.cpp 3KB
moc_clientdlg.cpp 3KB
serversocket.cpp 2KB
logbuffer.cpp 1KB
clientthread.cpp 802B
main.cpp 788B
filedao.cpp 769B
clientdlg.cpp 749B
clientdlg.cpp 749B
oracledaonpc.cpp 682B
logthread.cpp 520B
workthread.cpp 513B
client.cpp 498B
client.cpp 498B
server.cpp 496B
main.cpp 446B
consolesender.cpp 420B
consolesender.cpp 420B
storethread.cpp 415B
main.cpp 354B
main.cpp 171B
workthread.cpp 141B
except.h 1KB
except.h 1KB
socketsender.h 1KB
logreader.h 1KB
logreader.h 1KB
except.h 1KB
socketsender.h 1KB
data.h 801B
data.h 801B
data.h 588B
logbuffer.h 567B
server.h 538B
filedao.h 468B
oracledao.h 446B
client.h 437B
client.h 437B
serversocket.h 433B
clientdlg.h 426B
clientdlg.h 426B
storethread.h 391B
clientthread.h 368B
logsender.h 320B
logsender.h 320B
logthread.h 310B
consolesender.h 302B
consolesender.h 302B
workthread.h 300B
logdao.h 257B
workthread.h 224B
Makefile 9KB
Makefile 8KB
makefile 656B
makefile 400B
logreader.o 57KB
socketsender.o 32KB
socketsender.o 28KB
logreader.o 27KB
logbuffer.o 19KB
main.o 19KB
filedao.o 12KB
serversocket.o 11KB
oracledao.o 10KB
logthread.o 8KB
moc_clientdlg.o 8KB
consolesender.o 8KB
moc_clientdlg.o 7KB
workthread.o 6KB
consolesender.o 6KB
clientthread.o 6KB
moc_workthread.o 5KB
main.o 5KB
clientdlg.o 5KB
storethread.o 5KB
moc_workthread.o 5KB
clientdlg.o 4KB
main.o 4KB
client.o 3KB
client.o 3KB
server.o 3KB
workthread.o 2KB
main.o 2KB
oracledao.pc 2KB
client.pro 683B
client-qt.pro 361B
server 39KB
backup.sh 116B
共 105 条
- 1
- 2
资源评论
alvarocfc
- 粉丝: 108
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功