CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

BDE内存不足的问题

楼主cocochuong(可天)2000-11-13 13:51:00 在 Delphi / VCL组件开发及应用 提问

我自己写了一个访问数据库的类,由于是在线程中执行,所以根据BDE的要求,每个线程中访问数据库时必须用一个唯一的Session。  
  可这样就出现了一个问题,这个类在我的win2000上最多只能存在12个实例,多于12个时就会出现:Insufficient   memory   for   this   operation.这个错误。逐步跟踪错误来源,发现是第13次执行Fdatabase.connected:=true时出现这个错误,此时应该是BDE的内存不够而引起的,请问有什么办法解决呢?能不能扩大BDE   使用的内存或者有什么其它的办法呢?  
   
  后来我换了一台机器再试,发现该类实例多于8个时就出现同样错误,可该机器是192M内存的呀。  
   
  类为:Tthquery  
  成员:  
              FSession:TSession;  
              FDatabase:TDatabase;  
              qry1,qry2,qry3:TQuery;  
              Prepared:Boolean;  
              constructor   Create;  
              destructor   Destroy;override;  
              procedure   Free;  
  构造函数:  
                          FSession:=TSession.Create(nil);  
              FDatabase:=TDatabase.Create(nil);  
              qry1:=TQuery.Create(nil);  
              qry2:=TQuery.Create(nil);  
              qry3:=TQuery.Create(nil);  
              FSession.AutoSessionName   :=true;  
              with   FDatabase   do  
              begin  
                  FSession.Open;  
                  Connected:=false;  
                  Params.Clear;  
                  LoginPrompt:=false;  
                  SessionName:=FSession.SessionName   ;  
                  DatabaseName:=FSession.SessionName   ;  
                  DriverName:=glDriverName;  
                  Params.Values['SERVER   NAME']:=glServerName;  
                  Params.Values['DATABASE   NAME']:=glDbName;  
                  Params.Values['USER   NAME']:=glUserName;  
                  Params.Values['PASSWORD']:=glPassword;  
                  Connected:=true;  
                  qry1.SessionName:=FSession.SessionName;  
                  qry1.DatabaseName:=FDatabase.DatabaseName;  
                  qry2.SessionName:=FSession.SessionName;  
                  qry2.DatabaseName:=FDatabase.DatabaseName;  
                  qry3.SessionName:=FSession.SessionName;  
                  qry3.DatabaseName:=FDatabase.DatabaseName;  
                  Prepared:=true;  
              end;  
   
  问题点数:114、回复次数:1Top

1 楼tchaikov()回复于 2000-11-13 16:10:00 得分 114

到   BDE   Administrator->configuration->Driver->your   driver   中去改改参数如何?  
  如   MAX   DBPROCESSES等。Top

相关问题

  • ?内存不足!!!!!!!
  • 内存不足
  • Access内存不足?
  • 虚拟内存不足?
  • 难道是内存不足?
  • 内存不足的问题
  • 内存不足的问题
  • 内存不足,差3M!~
  • WIN2000出现内存不足!
  • 虚拟内存不足?

关键词

  • 内存
  • fsession
  • qry
  • fdatabase
  • sessionname
  • bde
  • tquery
  • databasename
  • nil
  • 错误

得分解答快速导航

  • 帖主:cocochuong
  • tchaikov

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo