OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
Errors in file :
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
Errors in file :
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], []
----- Call Stack Trace -----
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skgudmp+0044         bl       kgdsdst              7C0 ? A00D5498 ?
代码如下:
#else
sprintf(vSqlStr, "SELECT b.phone_no, a.id_no, a.contract_no, c.pay_type, c.prepay_fee, c.allow_pay \
FROM %s a, %s b, %s c   WHERE a.id_no=b.id_no  and   a.contract_no=c.contract_no  \
and  b.id_no>=%ld and b.id_no<=%ld and ('%s' between a.begin_ymd and a.end_ymd) \
and substr(b.run_code,2,1)<'a'  and prepay_fee>=0 ", \
globeData.conuser_table, globeData.custmsg_table, globeData.prepay_table, \
(atol(v_thd->head)*10000),(atol(v_thd->head)*10000+9999), globeData.billDate, globeData.billDate);
#endif

        /*在此获得的sqL语句能在数据库中得到结果*/ EXEC SQL PREPARE S_CONPRE_stmt FROM :vSqlStr;
EXEC SQL DECLARE S_CONPRE_cur CURSOR FOR S_CONPRE_stmt;
EXEC SQL OPEN S_CONPRE_cur;
msn:[email protected].可在线与我联系

解决方案 »

  1.   

    更多的错误信息:  程序会被系统 _nsleep()----- Call Stack Trace -----
    calling              call     entry                argument values in hex      
    location             type     point                (? means dubious value)     
    -------------------- -------- -------------------- ----------------------------
    calling              call     entry                argument values in hex      
    location             type     point                (? means dubious value)     
    -------------------- -------- -------------------- ----------------------------
    skgudmp+0044         bl       kgdsdst              7C0 ? A00D5498 ?
    kgeriv+0108          bl       _ptrgl               
    kgesiv+0080          bl       kgeriv               0 ? 0 ? 0 ? 7FFFFFFF ?
                                                       7FFFFFF8 ?
    kgesic0+0040         bl       kgesiv               150AFF58 ? 1000002 ? 4 ?
                                                       14E87828 ? 14E87828 ?
    kpuhhaloc+043c       bl       kgesic0              14E87828 ? 14E62D90 ? 42CB ?
                                                       0 ? 7FFF ? 0 ? 0 ? 14EDE580 ?
    kpughndl0+0690       bl       kpuhhaloc            14E87150 ? 8F0 ? 150B02D8 ?
                                                       14EA80E8 ? DE7662 ?
    OCIHandleAlloc+0028  bl       kpughndl0            0 ? 0 ? 0 ? 0 ? 0 ? 0 ?
    sqlocc+02b4          bl       OCIHandleAlloc       150B0470 ? 0 ? 0 ? 0 ?
                                                       150B0490 ?
    sqlopnt+0058         bl       sqlocc               27F678 ? 0 ? 0 ? 0 ?
    sqlopr+0270          bl       sqlopnt              1000A574 ? A00ADCD8 ?
                                                       150B0690 ? 0 ?
    sqlnst+1424          bl       sqlopr               0 ? 1 ? 0 ? 11 ? 1000A574 ?
                                                       3FC ?
    sqlcmex+0398         bl       sqlnst               0 ? 0 ? 0 ?
    sqlcxt+0074          bl       sqlcmex              DD0228 ? A00639B0 ?
                                                       150B0B26 ? 150B0994 ? 0 ?
    S_ReadConUserM+029c  bl       000234A8             
    _pthread_body+00dc   bl       _ptrgl               ----- Argument/Register Address Dump -----Argument/Register addr=7c0.  Dump of memory from 0x000000780 to 0x0000008C0
    00000000 7DF243A6 7DF042A6 F80F01C0 F86F01C8 F88F01D0 7C0000A6 F8AF01D8 7C7A02A6
    00000000 F8CF01E0 7C9B02A6 60000000 60000000 540004E6 60000000 38A0000A 600000B2
    00000000 78A0E00E 7CB242A6 7C000164 4C00012C 482E1372 00000000 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00000000 60000000 7DF243A6 7DF042A6 F80F01C0 7C1242A6 F86F01C8 F88F01D0 F80F01D8
    00000000 F8AF01E0 7C7A02A6 F8CF01E8 F8EF01F0 380030B2 7C9B02A6 7C000124 60000000
    00000000 60000000 60000000 4C00012C 54800462 7CD142A6 38A00101 08800000 8806005E
    00000000 60842000 B0A6005C 50044528 500445EE 482DF602 60000000 60000000 60000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      Repeat 1 times
    Argument/Register addr=a00d5498.  Dump of memory from 0x8001000A00D5458 to 0x8001000A00D5598
    08001000                                                       08001000 A00BFBA0
    08001000 08001000 A00BFB88 08001000 A00BFB70 08001000 A00BFB58 08001000 A00BFB40
    08001000 08001000 A00BFB28 08001000 A00BFB10 08001000 A00BFAF8 00000001 14E26910
    08001000 00000001 00000000 00000000 00000190 00000000 00002558 00000000 0000241C
    08001000 00000000 00002310 00000000 00002418 00000000 0000254C 00000000 00002440
    08001000 00000000 00002548 00000000 00002180 00000000 00000000 00000000 00000000
    08001000 00000000 00000000 08000000 00DE9280 00000000 00000000 00000000 00000001
      

  2.   

    http://bbs3.chinaunix.net/viewthread.php?tid=705269
    印象中 proc 多线程模式有相关的编译开关。
    单线程和多线程程序写法也是有区别的。
      EXEC SQL ENABLE THREADS;
      EXEC SQL CONTEXT ALLOCATE :dbarea;程序内存空间的冲突。
      

  3.   

    1,去网上找找辅助调试动态内存是否越界的链接库, 
       基本上应该是动态内存访问的时候过界了。2,不要以为空间换时间是可以无限发挥的。 
       全省话单分捡程序是在 32M内存P5 166 
       机器上调试的,试运行是PIII 666+320M内存。 
       处理速度是每小时一千万张左右。 
      

  4.   


    文件名是monthDb.pc
      
            sprintf(....);
              printf("...");/*这条语句能被打印*/
    EXEC SQL PREPARE S_CONPRE_stmt FROM :vSqlStr;
              printf("...");/*这条语句不能被打印*/
    EXEC SQL DECLARE S_CONPRE_cur CURSOR FOR S_CONPRE_stmt;
    EXEC SQL OPEN S_CONPRE_cur;代码如下: 
    #else 
    sprintf(vSqlStr, "SELECT b.phone_no, a.id_no, a.contract_no, c.pay_type, c.prepay_fee, c.allow_pay \ 
    FROM %s a, %s b, %s c  WHERE a.id_no=b.id_no  and  a.contract_no=c.contract_no  \ 
    and  b.id_no>=%ld and b.id_no <=%ld and ('%s' between a.begin_ymd and a.end_ymd) \ 
    and substr(b.run_code,2,1) <'a'  and prepay_fee>=0 ", \ 
    globeData.conuser_table, globeData.custmsg_table, globeData.prepay_table, \ 
    (atol(v_thd->head)*10000),(atol(v_thd->head)*10000+9999), globeData.billDate, globeData.billDate); 
    #endif         /*在此获得的sqL语句能在数据库中得到结果*/ EXEC SQL PREPARE S_CONPRE_stmt FROM :vSqlStr; 
    EXEC SQL DECLARE S_CONPRE_cur CURSOR FOR S_CONPRE_stmt; 
    EXEC SQL OPEN S_CONPRE_cur; 
      

  5.   

    和这个相关。谢谢 oraclelogan