VC++高手请帮帮忙! 急!急!急!急!急!急! (300分)

  • 主题发起人 编程初学者
  • 开始时间

编程初学者

Unregistered / Unconfirmed
GUEST, unregistred user!
1.操作系统为 Windows 2000 Advance Server. 数据库为 SQL Server 2000 SP2
程序为一处理多用户登陆及数据交换的服务程序.每一个用户登陆分配一个线程,
每个线程一个连接.开始一切正常.但约 10 个小时后数据库的连接就不能打开,
系统日志上记载错误信息: "COM + 分配线性局部存储失败,没有足够的内存处理该命令...".
线程中所建立的对象均已经释放.在改成多个线程使用一个数据库连接后运行
几天一切正常,但这种方式会影响其性能.如何处理多线程的问题?
 
你分配给数据库的内存太小了,一般分配2/3的内存
 
真心希望高手给点宝贵意见!
 
UP,VC高手!!!???
 
我想也是内存分配的问题。分大一点试试!
 
<<多个线程使用一个数据库连接后>>,不知你是如何設計的?如果解決資源互斥使用,
那肯定的.目前沒問題是與並發線程數量有關.
建議從設計方案考慮.
 
首先是你数据连接的释放问题,一个用户一个连接,是指Database连接吧,那是
很占资源的.如果没有正确释放,包括数据库连接(服务器端), 自己内部使用的
资源, 就会造成资源不够. 用任务管理器查查
 
study ..... [:)][:)][:)]
 
建议,
1、采用多线程分配的方法,如不行,
2、给数据库分配多些内存,如不行,
3、做个内存回收程式,让其定时运行一次。这是终结方式啦。
 
同意楼上
 
你的服务器有多少内存?
 
256M,我想不是关于内存原因吧!
 
靠!这样的问题还是初学者?
骗我进来也没有用啊!
 
增加内存
 
估计是什么地方申请了资源没有释放。
 
顶部