proc多线程的数据库连接问题?

52huier 2004-09-02 01:34:33
proc中用多线程,在主线程中我连接了数据库,那么在子线程中我分别重新连接数据库,这样不对吗?运行时出现错误:service handle not initialized
是不是要共享连接?该怎么办呢?很急,大家帮帮我。。。。



...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
52huier 2004-09-02
  • 打赏
  • 举报
回复
非常非常感谢楼上的指教,我明白了,现在问题也解决了,我为了管理方便,没有用共享连接
而是用传递context的方法,每个线程单独连接,看见,主线程连接以后,子线程也可以分别连接,我的错误在于刚开始,我没有把运行时上下文的参数传递给连接数据库的函数,于是出现了得不到服务句柄的错误。。。
希望对像我一样的新手有些帮助
揭帖
liao2001 2004-09-02
  • 打赏
  • 举报
回复
2年多前用过proc,忘记得差不多了,随便聊聊吧

从数据库来说,多线程连接是没有问题的,但每个连接相关的一些环境可能需要重申请,不同的数据库系统会有差异,proc应该是针对oracle的,你需要仔细察看oracle的相关资料。另外,是单连接还是多连接,涉及到数据的一致性问题和同步访问问题,同时也就引出了事务(transaction),不同的数据库有其不同的事务处理机制,说到这又得告诉你去查看资料了。(因为我大脑已经模糊,不敢乱说 : ))
如果多线程不存在同步“使用/修改”数据的话,用单连接应该可以解决问题;假如存在的话,用单连接的话,不说其他的,光是为了保证数据的一致性而做出的提交/回滚(commit/rollback)都会让你伤透脑精,如果多个事务串发还好说,出现钳套的话,有可能想提交没提交,想回滚的却提交,要保证一致的话,呵呵,我脑袋不行,或许有些人可以。
根据需求的不同会有不同的解决方案,我不敢断言搂主的情况,以上一堆可能说得比较乱,知识有限,见谅。
lifeixiao 2004-09-02
  • 打赏
  • 举报
回复
数据库只能链接一次吧,你为什么主子线程都要链接?在程序开始链接上后边直接用不就行了吗?
Linux内核一直是学习的难点:将近3000万行代码,5万多个源文件,代码庞大繁杂、代码很难看懂。《Linux内核编程》将突破以往传统的学习方式,采取更有效和科学的学习方法,多角度地对内核进行多层次分析,不局限于形式,不拘泥细节,目的只有一个:更轻松、更高效地去理解内核、学习内核。为了更好地让学员掌握内核编程技能,更好地理解内核,本课程将采用并不局限于以下学习方法进行课程的录制:降维分析,化简为繁,将复杂的系统简单化用软件工程的方法分析内核:软件分层、模块化分解、框架迭代多角度立体分析Linux内核,目的只有一个:更好地理解内核利用Linux内核中的面向对象编程思想去分析复杂的子系统、子系统交互利用多任务编程的思想去分析Linux内核本套课程预计分为20个左右的小模块,每个模块一个专题,每个专题会陆续发布。拟录制的模块包括但不限于:模块机制、内核裁剪与配置、内核编译与启动、系统调用、中断、文件系统、调度、内存管理、内核同步、设备模型、字符驱动、块驱动、定时器、input、platform设备驱动、device tree、proc、sysfs、I/O...  本课程是《Linux内核编程》的入门篇,主要给大家介绍一下Linux内核开发、Linux驱动开发的就业行情、行业生态、需要掌握哪些技能、Linux内核的学习方法、如何搭建Linux内核的学习开发环境。 

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧