当前位置:  技术问答>linux和unix

proc多线程程序中的问题,望高手帮助

    来源: 互联网  发布时间:2015-11-28

    本文导语:  我有个c的proc多线程程序,在oracle 9i上编译执行都没有什么问题,可到oracle 8i上就编译后却无法正常执行了 我测了一下 如果把dbConnect->execUpdataSql(delSql);放到main中执行是没有问题的,就是在放到SyncThread类中执行m_dbCo...

我有个c的proc多线程程序,在oracle 9i上编译执行都没有什么问题,可到oracle 8i上就编译后却无法正常执行了

我测了一下
如果把dbConnect->execUpdataSql(delSql);放到main中执行是没有问题的,就是在放到SyncThread类中执行m_dbConnect->execUpdataSql(delSql);就不行,该函数它会运行到“EXEC SQL IMMEDIATE :delSql”语句时会不经过希构函数就直接退出该类,也就是说该语句无法顺利执行,而且还不报错

备注:
1)m_dbConnect-是在new SyncThread()的时候用dbConnect传进来的
2)我是用AT :dbName的方式实现多线程

我知道这个是为什么,我到底忽略了什么,proc 8.1.6.0.0和proc9.2.0.5.0到底有什么区别呢,在做多线程时proc 8.1需要增加一些什么才能实现?望各位帮帮忙

|
多线程中,必须使用上下文进行控制。
short ConnectDBMS(char *outStr, DB_SESSION *DBSession,
 char *user, char *password, char *server)
{
    char userPass[50];
    char dbstr[50];

    sprintf(userPass, "%s/%s", user, password);
    sprintf(dbstr, "%s", server);
    EXEC SQL WHENEVER SQLERROR GOTO ERR_RETURN;
    EXEC SQL CONTEXT ALLOCATE :DBSession->ctx;
    EXEC SQL CONTEXT USE :DBSession->ctx;
    EXEC SQL CONNECT :userPass  USING :dbstr;

    return DB_SUCCESS;

    ERR_RETURN:
    {
        err_report(outStr, sqlca);
        return DB_FAILURE;
    }
}

void DisconnectDBMS(DB_SESSION *DBSession)
{
    char outStr[400];
    ExecuteSql(outStr, DBSession, "rollback");
    EXEC SQL WHENEVER SQLERROR CONTINUE;
    EXEC SQL CONTEXT USE :DBSession->ctx;
    EXEC SQL ROLLBACK WORK RELEASE;
    EXEC SQL CONTEXT FREE :DBSession->ctx;
}


|
C的多线程控制稳定性差而且复杂,建议你学学Fortran语言

|
我这个程序在进程中没有使用关联文本,可它在oracle 9i上的proc中程序是可以正常执行的,到了8i才不行,所以我想应该不仅仅只有上下关联文本可以使用在proc多进程编程中。
    故而我现在想能否有一个方案可以在8i中起到9i这样的功能
-------------------------------------------------------------
我在oracle9i和oracle8i用多线程开发过,都必须使用上下文才行,否则会出现异常退出,dump。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何读取主版的bios信息并显示出来? linux下面的/proc文件系统可以帮助完成这个功能么?
  • 那个网有讨论proc或proc的资料的?
  • 为什么我的/PROC目录下没有任何东西呢
  • 请问 proc_register 能否用在普通程序里?
  • 修改proc文件系统中同时打开文件个数错误
  • proc中钩子函数被多次调用的问题
  • 怎样修改/proc下文件内容?
  • 那位大侠解释一下/proc/net/dev这个文件各个字段的含义!
  • bash script /proc/partitions取字串問題
  • 请教 文件系统/proc移植
  • 关于/proc
  • 关于/proc目录下一些文件的问题
  • 如何修改/proc/version的内容
  • /proc/kallsym 文件详解
  • Linux下如何使用oci和proc
  • /dev目录的文件和/proc/device文件的关系
  • 关于/proc/devices问题
  • 关于学习proc文件系统
  • 请教一个关于PROC中调用存储过程的问题
  • 请问函数proc_calc_metrics是干什么用的?
  • proc文件能不能支持select或poll操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3