关于DLL共享应用程序中ADO数据库连接的问题? DLL中的数据库连接,大家一般采取什么方法?讨论一下,什么方式最好?还有是将ADO数据库连接写在应用主程序的dmu当中,还是放在一个DLL中,如果放在DLL当中,主程序如何调用,其它DLL如何调用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ADO是不行的,BDE是可以的如果硬要做,那就通过TADOQuery间接传递,否则难。还是无法解决重复打开数据库链接的问题 做数据库开发,目前流行的是采用三层架构。客户端--中间层---数据库客户端只要少许的函数库文件或bpl包就可以了,看你的程序设计情况中间层需要相应的驱动文件,如果访问的是oracle,那你就得安装orecle客户端驱动。中间层采用连接池方式。当客户端取数据的时候,中间层一个连接池占用状态,取完后释放连接池(当然不是释放中间层与数据库的连接,是长时间保持连接)是释放客户端与中间层的连接。客户端与中间层的连接方式可采用 tcp/ip协议即socket方式,客户端与中间层的方式是 发出连接请求-〉发送sql语句-〉等待返回数据-〉返回结果-〉断开连接在“等待返回数据”与两层结构是一样的,相当于程序直接发sql语句给数据库,返回结果,后向结果发给客户端。 目前的水平还达不到做三层,而且业务数据不是很频繁,一天的总数据条件增长不会超过500条。用两层处理简单。现在就是为了升级以及模块化开发,想做成DLl的方式,可不知数据库连接什么方式比较好。也考虑做一个主界面,里面放一个dmu,进行数据库的长连接,可是如何将这个连接传入dll?而不用每个dll再进行一次数据库连接! 请问一下! DELPHI中面向对象编程与其它开发语言的一个奇怪的差别,欢迎讨论. 如何给ADOQuery添加一个不存在的字段 画线的问题 有什么现成的函数或方法,在Canvas 上直接画一个三角形吗? 大家用什么版本的indy组件啊?最新版本是多少? 如何使用Qreport控件在一张A4纸上打印两份一摸一样的收据 DELPHI+ACCESS出现的奇怪问题,“`”这个字符很怪异 如果dbgrid的datasource是一个tdataset对象,如何在dbgrid里更改多条记录,然后再一次性提交。 infopower问题:( 一个循环,有兴趣挑战一下吗? 求助,Access 导入 SQL
客户端--中间层---数据库
客户端只要少许的函数库文件或bpl包就可以了,看你的程序设计情况中间层需要相应的驱动文件,如果访问的是oracle,那你就得安装orecle客户端驱动。
中间层采用连接池方式。当客户端取数据的时候,中间层一个连接池占用状态,取完后释放连接池(当然不是释放中间层与数据库的连接,是长时间保持连接)是释放客户端与中间层的连接。客户端与中间层的连接方式可采用 tcp/ip协议即socket方式,客户端与中间层的方式是 发出连接请求-〉发送sql语句-〉等待返回数据-〉返回结果-〉断开连接
在“等待返回数据”与两层结构是一样的,相当于程序直接发sql语句给数据库,返回结果,后向结果发给客户端。
而不用每个dll再进行一次数据库连接!