社区
Access
帖子详情
关于多进程和多线程访问Access的问题
12345_
2006-10-12 02:41:10
1、多进程:
当多个程序同时连接到同一个mdb,并对它进行读写操作时,数据库经常就会坏掉,是什么原因?是不是数据库加锁失败了?有办法解决吗?
2、多线程:
如果同一个程序里同时打开多个线程来对Access进行读写操作,是不是也会存在上面的问题?很多网站都是用的Access数据库,当有很多用户同时读写数据的时候,是否会造成数据库崩溃?
...全文
2744
11
打赏
收藏
关于多进程和多线程访问Access的问题
1、多进程: 当多个程序同时连接到同一个mdb,并对它进行读写操作时,数据库经常就会坏掉,是什么原因?是不是数据库加锁失败了?有办法解决吗? 2、多线程: 如果同一个程序里同时打开多个线程来对Access进行读写操作,是不是也会存在上面的问题?很多网站都是用的Access数据库,当有很多用户同时读写数据的时候,是否会造成数据库崩溃?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
OracleRoob
2006-10-13
打赏
举报
回复
使用连接池,统一被外部程序调用,在连接池中可以控制最大连接数。
也有可能ADO.NET内部使用的是连接池,但用了C#这么长时间,没有发现ADO.NET的这个优点。
12345_
2006-10-13
打赏
举报
回复
wangtiecheng(不知不为过,不学就是错!) 说的挺好!
根据你的说法,我的理解就是多进程访问和多线程访问一个mdb,其实是一样的,没有区别是不是?如果使用连接池,就相对稳定一些,但也不是绝对保险。
另外如果我通过一个组件来连接,多线程通过这个组件来访问数据库,并且我使用ADO.NET来连接数据库,ADO.NET默认使用的是连接池,这样子是不是就比较稳定了?
allright_flash
2006-10-13
打赏
举报
回复
1、多用户访问MDB时,稳定性不是很好。经常出问题,所以需要经常备份。
2、每个线程如果分别打开连接去访问,相当于多用户访问。这就是并发访问。
如果存在多个线程访问MDB,使用连接池处理会好些。
OracleRoob
2006-10-13
打赏
举报
回复
Access本身就支持多用户访问一个MDB,没有必要设置楼上说的锁定变量。
只是Access支持并发访问的健壮性有待改进而已。
按楼上所述,在一个外部应用程序中设定一个锁定状态,那多个不同的应用访问呢?这个变量应该放在哪儿?
不会是说把这个变量存到数据库中吧!
如果按这样做的话,就相当于只有一个连接的连接池,所有外部访问此MDB的应用程序,都通过此组件访问MDB。
l51
2006-10-13
打赏
举报
回复
Access數據庫文件讀寫鎖設計的基本思路:
設定一個 Application 變量為此數據庫的讀寫狀態,例如-1 是空閒狀態,0 是寫狀態,大於0的是目前正在讀取數據庫的會話數目。
這樣就好處理了,當數據庫沒有連接時,為空閒狀態;
當有 Connection 連接過來時為有讀取狀態,Application變量加1
當要對數據庫進行更新操作前,先檢查App 變量是否為0(為0則報錯、跳出或等待),
再保存 Application 變量,然後置這個App變量為0,接著更新數據庫,完成後恢復 App 變量為舊值。
當此App變量為0時,就是文件的寫保護鎖。
注意:更改 App 變量的值時,同樣要先 Lock 再 Unlock。
changechange
2006-10-13
打赏
举报
回复
1、多进程:
当多个程序同时连接到同一个mdb,并对它进行读写操作时,数据库经常就会坏掉,是什么原因?是不是数据库加锁失败了?有办法解决吗?
-------------------------
ACCESS为什么会提示自动修复自动备份?为什么会提示错误后自动关闭?如何保持 Jet 4.0 数据...
http://access911.net/index.asp?u1=a&u2=72FAB21E1ADCEFF3
--911--
2、多线程:
如果同一个程序里同时打开多个线程来对Access进行读写操作,是不是也会存在上面的问题?很多网站都是用的Access数据库,当有很多用户同时读写数据的时候,是否会造成数据库崩溃?
---------------------
关于 ASP 变量的生命周期,CONNECTION 关闭的问题《ASP/ASP.NET》
http://access911.net/index.asp?u1=a&u2=72FAB21E1ADCEDF3
ASP 程序员老犯得错误,都归咎在 JET 引擎或者 ACCESS 上,认真来看看吧
--911--
如果是 VC 无间隔多线程操作 MDB 会出现更新延迟问题,是 JET DB 引擎的问题无法解决
smartcatiboy
2006-10-12
打赏
举报
回复
烦人,低价空间只支持access
OracleRoob
2006-10-12
打赏
举报
回复
Access本身是单线程的。
楼主的意思是在外部程序中启动多个线程访问同一个MDB吧!
只要不使用独占方式打开,可以实现多个程序同时访问MDB。
wwwwb
2006-10-12
打赏
举报
回复
ACCESS是典型的单线程软件
用 ACCESS 本身不能修改自身线程,除非使用API ,但是那肯定不稳定,得不偿失。
另外,所谓的ACCESS线程不过是调用 MDB
l51
2006-10-12
打赏
举报
回复
Access數據庫本身就不支持多進程或多線程同時寫入,它的驅動程序根本就沒有這一塊的支持,多線程讀取也是勉強強行實現的,所以要寫它的多線程或多進程程序,你要自己管理文件讀寫鎖。
OracleRoob
2006-10-12
打赏
举报
回复
1、多进程:
当多个程序同时连接到同一个mdb,并对它进行读写操作时,数据库经常就会坏掉,是什么原因?是不是数据库加锁失败了?有办法解决吗?
----------------------------------------------
多用户访问MDB时,稳定性不是很好。经常出问题,所以需要经常备份。
2、多线程:
如果同一个程序里同时打开多个线程来对Access进行读写操作,是不是也会存在上面的问题?很多网站都是用的Access数据库,当有很多用户同时读写数据的时候,是否会造成数据库崩溃?
----------------------------------------------
每个线程如果分别打开连接去访问,相当于多用户访问。这就是并发访问。
如果存在多个线程访问MDB,使用连接池处理会好些。
浅谈
多线程
访问
access
数据库处理
delphi下面用ADO连接
access
数据库,
多线程
访问
数据库会发现如果与数据库交互频繁会发现程序会弹出一些莫名其妙的错误,如“内存
访问
错误”、“在异步运行时,操作不能执行”等莫名其妙的错误,为什么会出现这种情况呢? 为什么? ADO控件是线程不安全的,所以
Linux
多进程
多线程
编程笔记
文章目录
多线程
多进程
学习记录一、
多线程
编程二、
多进程
编程1、共享内存
多线程
多进程
学习记录 一、
多线程
编程 二、
多进程
编程 1、共享内存 通常用信号量同步共享内存,也可以使用记录锁和互斥锁 ...
详解Python
多线程
、
多进程
在学习Python的过程中,有接触到
多线程
编程相关的知识点,先前一直都没有彻底的搞明白。今天准备花一些时间,把里面的细节尽可能的梳理清楚。
Linux下多个进程或线程同时对一个文件进行写操作和
access
函数
Linux下多个进程或线程同时对一个文件进行写操作和
access
函数 Linux下多个进程或线程同时对一个文件进行写操作,如何解决冲突? 使用flock(锁定文件或解除锁定),简单可行! 先介绍一下flock函数吧 头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式
Flask+gunicorn实现web服务并发调用Python程序,解决
多线程
/
多进程
问题
Flask+gunicorn实现web服务并发调用Python/Pytorch程序,解决
多线程
/
多进程
问题
项目场景: 项目需求:将客户端的请求经由Web服务器转发给Flask程序实例,调用Python/Pytorch程序。
问题
描述:由于Flask框架默认是单进程,单线程阻塞的任务模式,为了实现并发,可以用 gunicorn 来部署Flask服务。这里用Flask+gunicorn实现python应用的部署,同理可以迁移到pytorch、tensorflow等机器学习、深度学习模型的部署。
Access
7,730
社区成员
28,799
社区内容
发帖
与我相关
我的任务
Access
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
复制链接
扫一扫
分享
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章