最后一次问ADO导致内存泄露的问题

bwe2009 2013-02-17 03:05:39
最后一次问ADO导致内存泄露的问题,看看有没有解决办法。
可以确认在使用ADO打开数据库的时候,即使及时CLOSE数据库,内存还会一定增加,没完全释放,也就是内存泄露。
看了网上很多帖子,提出此类问题的人比较多,解决办法比较少。在这些办法中说断开数据库连接,过个一段时间在连接,目的是让系统有时间或是内存。但经本人测试无效。还有说ADO版本升级,可是我已经是最新版本的ADO了,依然还是内存泄露。
最后:程序肯定没问题。只要把ADO打开数据库的这些语句一注销,内存泄露立即消失。

请问,大侠们还有其他解决办法吗?DELPHI如果不用ADO还能用其他什么办法访问数据库?
...全文
995 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
cn960 2014-06-14
  • 打赏
  • 举报
回复
这么多年,服务器能吃得消?
cn960 2014-06-14
  • 打赏
  • 举报
回复
这么多年,服务器能吃得消?
zhenghaoxin 2014-06-14
  • 打赏
  • 举报
回复
应该是你设计的代码有内存泄露,重新检查一下你的代码啊。
仙侣步惊云 2014-01-07
  • 打赏
  • 举报
回复
你所谓的内存泄漏是在客户端还是在服务器端呢?如果在服务器端肯定是数据库的问题,如果在客户端,则可能是ado、数据库或delphi相关组件问题。 我的数据库同时在线人数约200人,已经大约3年没重启服务器了,运行非常稳硕,开发模式是ado+delphi
踏雪无痕 2014-01-06
  • 打赏
  • 举报
回复
这问题还真没想过呢,等待下答案。
添翼软件 2014-01-05
  • 打赏
  • 举报
回复
引用 21 楼 sololie 的回复:
如果你不想发时间解决"ado"内存泄露问题,就试下用sqlite吧。 用sqlite的话,直接用它的api操作数据库,不需要任何其他驱动。sqlite只需要带一个sqlite3.dll和一个数据库文件就是它的全部了。用cb的话,项目里直接加入sqlite3.c文件编译,连sqlite3.dll都不用带。
请问这位兄弟,你说的SQLITE可以代替工程项目里要用到的SQL SERVER 2005吗?
添翼软件 2014-01-05
  • 打赏
  • 举报
回复
我也一直被ADO这个内存泄露困扰,MDAC版本是2.8,在WINDOWS 2008 server上,是频繁读写造成。帮顶上去,有问题我们联系QQ2211549
爱蹄子的羊头 2013-03-18
  • 打赏
  • 举报
回复
引用 21 楼 sololie 的回复:
如果你不想发时间解决"ado"内存泄露问题,就试下用sqlite吧。 用sqlite的话,直接用它的api操作数据库,不需要任何其他驱动。sqlite只需要带一个sqlite3.dll和一个数据库文件就是它的全部了。用cb的话,项目里直接加入sqlite3.c文件编译,连sqlite3.dll都不用带。
sololie 2013-03-18
  • 打赏
  • 举报
回复
如果你不想发时间解决"ado"内存泄露问题,就试下用sqlite吧。 用sqlite的话,直接用它的api操作数据库,不需要任何其他驱动。sqlite只需要带一个sqlite3.dll和一个数据库文件就是它的全部了。用cb的话,项目里直接加入sqlite3.c文件编译,连sqlite3.dll都不用带。
sololie 2013-03-18
  • 打赏
  • 举报
回复
都说了让你安装fastmm,用来检测和跟踪内存泄露以定位泄露的根源。 sqlite 是最好的嵌入式数据库。
bwe2009 2013-03-18
  • 打赏
  • 举报
回复
sqlie是什么?
ivvn 2013-03-18
  • 打赏
  • 举报
回复
用access啊,直接用sqlie多舒服?
憨厚小情郎 2013-03-18
  • 打赏
  • 举报
回复
小白路过,帮忙顶了。一直用ado,没发现过,可能是我用的时间段吧。
sololie 2013-03-18
  • 打赏
  • 举报
回复
表示怀疑,用fastmm做下跟踪测试
bwe2009 2013-03-17
  • 打赏
  • 举报
回复
继续请问高手
zuohuaijun 2013-03-04
  • 打赏
  • 举报
回复
ADO最新版本如何获取啊??谢啦 zuohuaijun@163.com 如何下载啊
bwe2009 2013-03-01
  • 打赏
  • 举报
回复
继续强势提前
7年 2013-02-25
  • 打赏
  • 举报
回复
这问题还真没想过呢,等待下答案。
bwe2009 2013-02-23
  • 打赏
  • 举报
回复
有人知道吗?到底该怎么办?
bwe2009 2013-02-18
  • 打赏
  • 举报
回复
引用 9 楼 yct0605 的回复:
引用 6 楼 bwe2009 的回复: 就是打开1000次或10000次,观察内存持续上涨,存在内存泄露 如果是access数据库的话,ADO操作的时候会发生内存泄漏,但是ADO的问题,还是access数据的问题就不好说了,我以前写的软件每天都会用ado从access数据库里面进行操作,运行一年多了都没有什么问题。
到底有问题还是没问题啊?又说会发生泄漏,又说运行一年多美发生问题。到底是哪个?
加载更多回复(9)

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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