易截截图软件、单文件、免安装、纯绿色、仅160KB

出现Oracle ORA 24343的一种情况

    对于Oracle ORA-24343这种错误,Oracle的官方解释是:
Error Message: ORA-24343 user defined callback error
Error Cause:
The only valid return value for a user defined callback function is OCI_ CONTINUE. Any other value will cause this error.
Action:
Make sure that OCI_CONTINUE is returned from the user-defined callback function.
最近用Pro*C编写访问Oracle的数据库的程序,遇到了这个错误,最后发现导致这个错误的一个原因是
   “宿主变量”的长度分配不够。
如:
    EXEC SQL BEGIN DECLARE SECTION;
        char completion_time[30];
        char completion_time2[30];
        char SQLSTR[500];
    EXEC SQL END DECLARE SECTION;   
 string SQL = "select to_char(SWITCH.scan_start_time,'YYYY-MM-DD HH24:MI:SS'), (SWITCH.innho_att - SWITCH.innho_fail) / SWITCH.innho_att, (SWITCH.extin_att + SWITCH.extou_att - SWITCH.extin_fail - SWITCH.extou_fail) / (SWITCH.extin_att + SWITCH.extou_att) from u_msc_h_ho@pmdb SWITCH where SWITCH.mscname = :equipe_name and (SWITCH.scan_start_time between to_date(:completion_time, 'YYYY-MM-DD HH24:MI:SS') and to_date(:completion_time, 'YYYY-MM-DD HH24:MI:SS') + 13) and SWITCH.innho_att is not null and SWITCH.innho_fail is not null and SWITCH.extin_att is not null and SWITCH.extin_fail is not null and SWITCH.extou_att is not null and SWITCH.extou_fail is not null and SWITCH.extin_att + SWITCH.extou_att != 0 and SWITCH.innho_att != 0 and to_char(SWITCH.scan_start_time, 'HH24') in ('08','09','10','11','18','19','20','21') ";
   
    strcpy(SQLSTR, SQL.c_str());
   
    EXEC SQL PREPARE SQLCursor from :SQLSTR;
    EXEC SQL DECLARE GetSwitchSceneDataCursor CURSOR for SQLCursor;
   
    EXEC SQL OPEN GetSwitchSceneDataCursor using :equipe_name, :com


相关文档:

Oracle Spatail 特理存储结构

MDSYS.CS_SRS ----- 该表定义了坐标系的名字及其在Oracle Spatial中的ID值等,这些坐标系都是由Open-GIS公布的。目前定义的坐标系已经达到1018个。
MDSYS.SDO_ANGLE_UNITS ----- 该表定义了角度单位,分别是Degree,Gon,Grad,Minute,Radian,Second
MDSYS.SDO_DIST_UNITS ----- 该表定义了距离的单位。比如km,m,共有27种距 ......

oracle学习笔记(二)分享之存储过程嵌套游标例子

create or replace procedure aa1 is
v_aa varchar2(20);
v_bb varchar2(20);
va_aa varchar2(20);
va_bb varchar2(20);
va_number_aa number;
message varchar2(60);
CURSOR aas is
SELECT DISTINCT aa.aa, aa.bb from aa;
CURSOR aaas is
SELECT DISTINCT aaa.aa, aaa.bb from aaa where aaa.aa = v_aa ......

oracle JOB迁移办法

在系统迁移或升级的时候,可能会有oracle JOB迁移的需求。
对于10G的系统好说。可以用下面的办法:
userid="/ as sysdba"
directory=EXP_DIR
dumpfile=expdp_job.dmp
logfile=expdp_job.log
include=job
对于9i库好象有点复杂:
可以用下面的办法。
set echo on
conn sm ---------->JOB所在的用户名。
set se ......

关于ORACLE 审计的一些视图和脚本

审计视图
STMT_AUDIT_OPTION_MAP    -- 审计选项类型代码
AUDIT_ACTIONS    -- action代码
ALL_DEF_AUDIT_OPTS    -- 对象创建时默认的对象审计选项
DBA_STMT_AUDIT_OPTS    -- 当前数据库系统审计选项
DBA_PRIV_AUDIT_OPTS    -- 权限审 ......

Oracle优化器的优化方式和优化模式

Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、Toad等工具去看一个语句的执行计划,不过你 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号