龙七

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
Insufficient memory for this operation
'Insufficient memory for this operation' errorQuestion:
Whenever I attempt to open many query or table cursors, I finally reach a point when I get an error, "Insufficient memory for this operation". What do I do?
Answer:
First, you should read the technical document at www.borland.com/devsupport/bde/ti_list/TI2751.html
Some current internal limits of BDE. This document will tell you what most of absolute BDE limits are.
IMPORTANT: If your application is not reaching one of the limits covered there and you are also getting the above error message, most likely the SHAREDMEMSIZE setting in the BDE will solve your problem. This setting will allow you to increase the BDE's internal object memory pool. A setting between 4096 and 8192 should be more than plenty.

修改BDE配置增加中间层程序响应客户端程序个数的方法

    用友安易R9网络版软件在使用中,若发现某些工作站不能进入系统,提示‘无法连接中间层...’,则有可能是因为服务器因中间层连接数多造成系统资源不足导致的。
       判断方法:工作站调用服务器中间层情况下,某些工作站发生连接不上中间层,且不固定,有时是这台,有时是那一台。
       解决方法:
       在服务器上,打开windows【控制面板】-【BDE  Administrator】-【Configuration】-【System】-【INIT】,修改倒数第4项【SHAREDMEMSIZE】为默认值2048的整倍数,如4096、8192,但不能过大。最后点击‘Object’菜单下的‘Apply’保存设置。
       若数据库为MS  SQL  Server,则还可以调节BDE设置中【TDS  PACKET  SIZE】来解决。在服务器上,打开windows【控制面板】-【BDE  Administrator】-【Configuration】-【Drivers】-【Native】-【MSSQL】,修改倒数第2项【TDS  PACKET  SIZE】为默认值4096的整倍数,如8192、12288,但不能过大。最后点击‘Object’菜单下的‘Apply’保存设置


修改BDE配置增加中间层程序响应客户端程序个数的方法(二)

             关于中间层能带多少个客户端的问题,回来后我们一直在寻求解决办法。经多次偿试和配置,目前我们自己测试初步可以达到:  客户端数*模块数>100
      
                 配置方法如下:

                 启动BDEADMIN.EXE,在Configuation页设置:
                 1)  system\init\sharedmemsize  =  2048(设为更大,我们设置为2048*8=16384)
                 2)  drivers\native\mssql\max  dbprocesses  =  31(设为更大,我们设置为254)在前台程序不能连接中间层时配置BDE的方法

打开windows控制面板-【BDE Administrator】,左边功能树选‘Databases’,点左上角‘Object’菜单,选‘New’,选‘MSSQL’,点‘OK’,将自动添加名称‘MSSQL1’,在右侧参数列表中修改倒数第一项‘USER NAME’为‘sa’,修改倒数第五项‘SERVER NAME’为数据库服务器的机器名,然后点左上角‘Object’菜单,选‘Apply’,在提示窗口中点‘OK’。鼠标双击名称‘MSSQL1’,在出现的‘Database Login’窗口,如果数据库设置了密码,则在‘Password’栏输入,然后点‘OK’。若名称‘MSSQL1’前的图标被一浅绿色框住,则表示配置通过。

调整BDE参数提高R9中间层最大连结数。

建议调整 BDE Administrator\Configuration\System\INIT项目下的MEMSIZE和SHAREMEMSIZE两个参数:

参数方案                               一                        二                        三
MEMSIZE
16
64
205
SHAREMEMSIZE

2048

8192

32768
估算连接数
20
60
200

***注意***:如果选择方案三,则一台机器上只能启动一个需要BDE的程序。例如,如果启动了R9中间层,则其他需要BDE才能运行的应用程序可能会启动失败,反之亦然。

如果使用的是 SQL Server 数据库,还需要把
BDE Administrator\Configuration\Drivers\Native\MSSQL 项目下的 MAX DBPROCESS 参数值调整为对应的连接数以上
posted on 2012-10-17 12:07  龙七  阅读(4560)  评论(0编辑  收藏  举报