救救我们吧--关于ado连接数据库的问题

mqw888 2004-07-31 03:58:45
我写了个b/s结构(intraweb)的程序,采用sybase+ado,其中datamodule里面用adoconnection(一个)+adoquery(多个)+datasource(多个),adoquery和datasource一一对应.程序运行起来以后,在sybase 进程里面显示,每一个adoquery生成了一个sybase连接,由于一个页面上可能用到四到五个adoquery,这样数据库里面就会出现四到五个用户连接,请各位大侠指教,怎样才能实现一个用户下所有的adoquery共用一个连接呢?谢谢谢谢!
解决了,再给300都可以。
...全文
214 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
mqw888 2004-08-09
  • 打赏
  • 举报
回复
好像用ado+sqlserver就不会出现这样的问题.
不过还是要谢谢各位的帮忙.
jihlz 2004-08-02
  • 打赏
  • 举报
回复
我遇到过这种问题,没有什么好的办法,只能动态创建ADOQuery,用完之后再Destroy掉。
mqw888 2004-08-02
  • 打赏
  • 举报
回复
有可能是db连接的问题,ado没有直接连接sybase数据库的驱动(sybase网站上有,但是不让下),是不是问题出在这里?
如果是sql server的话,是不是就不会出现这个问题。
mqw888 2004-08-02
  • 打赏
  • 举报
回复
neo40(neo),你好,谢谢你的指点。
我用应用程序调用sybase测试了一下,同样的,一个adoconnection,两个adoquery,仍然会出现两个连接。不知为何?
iknowwn 2004-08-02
  • 打赏
  • 举报
回复
动态创建ADOQuery,再动态释放,也是一个办法啊,我就是这样用的;控件太多也不好
mqw888 2004-08-02
  • 打赏
  • 举报
回复
jihlz(兰旗)
真的吗?如果这样的话,ado+sybase也太...太烂了吧!
我总想着会有什么解决方法!
mqw888 2004-08-02
  • 打赏
  • 举报
回复
jihlz(兰旗)
真的吗?如果这样的话,ado+sybase也烂了吧!
我总想着会有什么解决方法!
neo40 2004-08-01
  • 打赏
  • 举报
回复
INTARWEB如果生成的是ISAPI的程序那在服务器上运行时候是以IIS的子线程形式运行的,如果一个客户端访问就有一个连接的。但ADO和ADO。NET好象不太一样,ADO是否真正解决了多个查询同时使用一个CONNECTION我还不太清楚,我都用SQL SERVER的不知道为什么连接SYBASE会不一样。
建议你用WEBSNAP和应用程序试一下调用SYBASE,看看还有没有同样的问题,如果有那就是DB服务器的问题了。
longtusoft 2004-08-01
  • 打赏
  • 举报
回复
将所有ADOQUERY的CONNECTION全部指定为你的那一个ADOCONNCETION就可以了.
huiwww 2004-07-31
  • 打赏
  • 举报
回复
你用adoconnection控件,然后每个adoquery的connection都等于adoconnection控件,不就得了,还有就是adoquery.connectionstring为空
getit911 2004-07-31
  • 打赏
  • 举报
回复
每个用户session会生成一个datamodule,这样连接就多了,可以建立一个全局的adoconnection,别放到session中,其他的adoquery共用这个全局连接应该可以了。
delphiseabird 2004-07-31
  • 打赏
  • 举报
回复
既然是b/s的东西,就是对客户端的数量没有限制,这样你最好读完了数据就断掉他,否则服务器的负担很大
mqw888 2004-07-31
  • 打赏
  • 举报
回复
没有,我adoquery.connectionstring里没有设置同样的连接字符串.
JavaD 2004-07-31
  • 打赏
  • 举报
回复
adoquery的connection设置为你的adoconnection就是都用这个connection阿,不会生成别的connection的,除非你在adoquery.connectionstring里都设置了同样的连接字符串
mqw888 2004-07-31
  • 打赏
  • 举报
回复
那你就给他们设置权限吧

什么意思,怎样设置?
mqw888 2004-07-31
  • 打赏
  • 举报
回复
用哪个就连结那个?
用的多了,不是连接也多了吗,我是说多个adoquery能否公用一个连接(一个登陆用户)
zhlwyy 2004-07-31
  • 打赏
  • 举报
回复
那你就给他们设置权限吧
pandengzhe 2004-07-31
  • 打赏
  • 举报
回复
用哪个就连结那个,不就行了?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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