EXEC SQL BEGIN DECLARE SECTION;
char sConnStr[100] = "";
int iSql = 0;
EXEC SQL END DECLARE SECTION; EXEC SQL WHENEVER SQLERROR goto errexit; EXEC SQL CONTEXT USE : ctx;
strcpy(sConnStr, sConnectString); EXEC SQL connect : sConnStr;
iSql = sqlca.sqlcode;
return 0;
errexit:
if (sqlca.sqlcode < 0)
sprintf(ErrMsg, "\n%.*s\n\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);
return sqlca.sqlcode;问题rt,上面是连接登陆数据库的代码,但是现在碰到的问题是这种方式登陆数据库之后,如果有一段时间不操作数据库,
空闲一段时间后再操作会报错:ORA-03114: 未连接到 ORALCE;
怀疑是空闲一段时间后被防火墙给断掉了,有没有办法让他不用还一直保持着连接,有没有类似于心跳一样的东西?
char sConnStr[100] = "";
int iSql = 0;
EXEC SQL END DECLARE SECTION; EXEC SQL WHENEVER SQLERROR goto errexit; EXEC SQL CONTEXT USE : ctx;
strcpy(sConnStr, sConnectString); EXEC SQL connect : sConnStr;
iSql = sqlca.sqlcode;
return 0;
errexit:
if (sqlca.sqlcode < 0)
sprintf(ErrMsg, "\n%.*s\n\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);
return sqlca.sqlcode;问题rt,上面是连接登陆数据库的代码,但是现在碰到的问题是这种方式登陆数据库之后,如果有一段时间不操作数据库,
空闲一段时间后再操作会报错:ORA-03114: 未连接到 ORALCE;
怀疑是空闲一段时间后被防火墙给断掉了,有没有办法让他不用还一直保持着连接,有没有类似于心跳一样的东西?
解决方案 »
- oracle 使用copy from ***replce** 放入数据
- Oracle Database Link问题
- LOGICAL standby SWITCHOVER后不能同步日志,报错
- Io 异常: The Network Adapter could not establish the connection
- 关于在Oracle中创建用户,授予权限的问题
- 8i导入oracle7数据的问题
- 9i的数据库,用oracle7.32的客户端怎么配连接串连不上数据库,错误如下:请指教!
- 各位大狭:这种在SYBASE的语句在ORACLE中怎么实现???
- 请帮忙分析一下这个奇怪的trigger
- 大家看一下,新手高手勿喷
- oracle时间相减问题
- ORA-03115: 不支持的网络数据类型或表示法?????
参考下段:五、如何创建一个PROFILE:
1、命令:
CREATE PROFILE 名称
LIMIT
SESSION_PER_USER 2
CPU_PER_SESSION 1000
IDLE_TIME 60 用户在数据库终止前,可以让连接空闲多长时间(分钟)
CONNECT_TIME 480
六、限制参数:
0、UNLIMITED 取消资源限制
DEFAULT 缺剩资源限制,即使用default资源限制 1、CONNECT_TIME :一个连接会话的最长连接时间(分钟)
当用户会话时间超过CONNECT_TIME指定的时间,Oracle将回滚当前事务,并且结束他的会话
IDLE_TIME :一个连接会话的最长连接时间
当用户空闲时间超过IDLE_TIME指定的时间,Oracle将回滚当前事务,并且结束他的会话 2、SESSIONS_PER_USER:一个用户允许同时(并发)会话的总数,超过后系统禁止该用户的后续会话,并返回错误:
ORA-02391 exceeded simultaneous SESSIONS_PER_USER limit
3、SESSION级LIMITE:
CPU_PER_SESSION:定义了一个SESSION占用的CPU的时间(1/100 秒),当达到这个限制用户不能在此会话中执行任何操作,
此时必须先断开连接,再连接才行。
CPU_PER_CALL :限制每次调用SQL语句期间(parse、execute、fetch)可用的CPU时间总量,单位是百分之一秒。达到限制时
语句以报错结束。不同于CPU_PER_SESSION的是,没达到CPU_PER_SESSION限制,还可以进行新的查询。
4、LOGICAL_READS_PER_SESSION: 一个会话允许读写的逻辑块的数量限制
5、CALL级LIMITE
CPU_PER_CALL:每个语句占用的CPU时间
LOGICAL_READS_PER_CALL:一次调用的SQL期间,允许读数据库块数限制
6、PRIVATE_SGA:一个会话允许分配的最大SGA大小,使用K/M定义
COMPOSITE_LIMIT:一个会话的资源成本限制,CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION, and PRIVATE_SGA