社区
C语言
帖子详情
proc多线程的数据库连接问题?
52huier
2004-09-02 01:34:33
proc中用多线程,在主线程中我连接了数据库,那么在子线程中我分别重新连接数据库,这样不对吗?运行时出现错误:service handle not initialized
是不是要共享连接?该怎么办呢?很急,大家帮帮我。。。。
...全文
163
3
打赏
收藏
proc多线程的数据库连接问题?
proc中用多线程,在主线程中我连接了数据库,那么在子线程中我分别重新连接数据库,这样不对吗?运行时出现错误:service handle not initialized 是不是要共享连接?该怎么办呢?很急,大家帮帮我。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
52huier
2004-09-02
打赏
举报
回复
非常非常感谢楼上的指教,我明白了,现在问题也解决了,我为了管理方便,没有用共享连接
而是用传递context的方法,每个线程单独连接,看见,主线程连接以后,子线程也可以分别连接,我的错误在于刚开始,我没有把运行时上下文的参数传递给连接数据库的函数,于是出现了得不到服务句柄的错误。。。
希望对像我一样的新手有些帮助
揭帖
liao2001
2004-09-02
打赏
举报
回复
2年多前用过proc,忘记得差不多了,随便聊聊吧
从数据库来说,多线程连接是没有问题的,但每个连接相关的一些环境可能需要重申请,不同的数据库系统会有差异,proc应该是针对oracle的,你需要仔细察看oracle的相关资料。另外,是单连接还是多连接,涉及到数据的一致性问题和同步访问问题,同时也就引出了事务(transaction),不同的数据库有其不同的事务处理机制,说到这又得告诉你去查看资料了。(因为我大脑已经模糊,不敢乱说 : ))
如果多线程不存在同步“使用/修改”数据的话,用单连接应该可以解决问题;假如存在的话,用单连接的话,不说其他的,光是为了保证数据的一致性而做出的提交/回滚(commit/rollback)都会让你伤透脑精,如果多个事务串发还好说,出现钳套的话,有可能想提交没提交,想回滚的却提交,要保证一致的话,呵呵,我脑袋不行,或许有些人可以。
根据需求的不同会有不同的解决方案,我不敢断言搂主的情况,以上一堆可能说得比较乱,知识有限,见谅。
lifeixiao
2004-09-02
打赏
举报
回复
数据库只能链接一次吧,你为什么主子线程都要链接?在程序开始链接上后边直接用不就行了吗?
Linux内核编程:入门篇
Linux内核一直是学习的难点:将近3000万行代码,5万多个源文件,代码庞大繁杂、代码很难看懂。《Linux内核编程》将突破以往传统的学习方式,采取更有效和科学的学习方法,多角度地对内核进行多层次分析,不局限于形式,不拘泥细节,目的只有一个:更轻松、更高效地去理解内核、学习内核。为了更好地让学员掌握内核编程技能,更好地理解内核,本课程将采用并不局限于以下学习方法进行课程的录制:降维分析,化简为繁,将复杂的系统简单化用软件工程的方法分析内核:软件分层、模块化分解、框架迭代多角度立体分析Linux内核,目的只有一个:更好地理解内核利用Linux内核中的面向对象编程思想去分析复杂的子系统、子系统交互利用多任务编程的思想去分析Linux内核本套课程预计分为20个左右的小模块,每个模块一个专题,每个专题会陆续发布。拟录制的模块包括但不限于:模块机制、内核裁剪与配置、内核编译与启动、系统调用、中断、文件系统、调度、内存管理、内核同步、设备模型、字符驱动、块驱动、定时器、input、platform设备驱动、device tree、
proc
、sysfs、I/O... 本课程是《Linux内核编程》的入门篇,主要给大家介绍一下Linux内核开发、Linux驱动开发的就业行情、行业生态、需要掌握哪些技能、Linux内核的学习方法、如何搭建Linux内核的学习开发环境。
python 多进程共享
数据库连接
池_python 单例模式实现
多线程
共享连接池
我们经常使用
数据库连接
池,但那是有时候有些库并没有实现线程安全的连接池,这个时候,该如何自己封装?多进程和
多线程
甚至协程模式下,如何控制
数据库连接
数量或者是socket连接数。这个
问题
很有意义。首先,多进程,通常的做法是每个进程实例化一个连接池,为什么不共享一个池,因为多进程和
多线程
同步的开销不一样,一般三方库都不会支持,但是redis 的库可以,他有些细节不一样。然后
多线程
共享,只需要将连接放到...
遇到oracle错误24909,使用Pro C++实现
数据库连接
池采用
多线程
方式访问oracle数据库 | 学步园...
数据库连接
作为一种资源,我们的应用必须对之进行行之有效的管理。我们在访问数据库的时候,一般传统上采用先建立连接,然后使用该连接访问数据库,在使用完毕后,关闭该连接。这是我们经常采用的方法。该方法的好处是使用简单,不用对连接进行任何管理。但随之带来的缺点也就出现了,在应用需要频繁访问数据库的时候,这种方法就会使程序的效率十分低下,甚至有时候是不能满足应用的需要的。随着
数据库连接
池技术出现了,我们的应...
proc
多线程
操作oracle
proc
多线程
操作oracle,已经验证可以使用。
Delphi 中 FireDAC
数据库连接
(
多线程
)
如果满足以下条件,FireDAC是线程安全的。一个连接对象和所有与之相关的对象(如TFDQuery、TFDTransaction等)在每个时刻都由一个线程使用。FDManager在线程开始之前被激活,通过设置FDManager.Active为True。这意味着,在一个线程打开一个查询后,直到它的处理完成,应用程序不能在另一个线程中使用这个查询和连接对象。同样,在一个线程启动一个交易后,直到交易完成,应用程序不能在另一个线程中使用这个交易和连接对象。
C语言
69,378
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章