用DELPHI 编写activeform,用ADO 连接数据库,这样的 ACTIVEX 是不是只能在局域网内发布?(100分)

  • 主题发起人 主题发起人 minewdy
  • 开始时间 开始时间
M

minewdy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在用DELPHI 编写了一个activeform,再连接数据库是
ADOConnection1 使用 Microsoft OLD DB provider for ODBC drivers
结果在客户机上运行时,提示我
ODBC 未发现数据源名称或是没有指定默认驱动程序

小弟现在刚刚开始看看ACTIVEX 不知道 ACTIVEX 是客户机直接访问数据服务器还是
通过WEB 服务器访问数据服务器,
现在看到这样的提示,我想是前者了,如果是这样,
使用DEIPHI 编写访问数据库的 ACTIVEFORM 岂不是毫无用处,


 
怪怪,
这个问题就没有办法解决么
 
activexform在客户端运行,当然用客户端的数据库驱动.
 
好象回答过这个问题了啊?

同意snake.
除非你用三层结构, Activeform连接中间层服务器就不用配置数据源了。
 
ActiveForm虽然是在浏览器中运行,但却是依赖于客户端的运行环境,你在服务器上设的ODBC
设置一点用都没有,必须在客户端有相同的设置,如建立一个同服务器端相同的DSN。
 
我也遇到过类似问题.真麻烦
 
xianjun
如果采用三层结构,那么应用服务器是不是要在客户端先执行一次。
 
不用,建议用SOCKET连接。这样在INTERNET上也可连接。
 
使用webconnection或socketconnection都可以解决这个问题,找译本midas 或分布式数据库的
delphi方面的书看看就可以
 
做成三层结构的话,前端用浏览器操作,中间用webconnection 或 socketconnection
或 dcom 前端做成 activex

和前端用vb 作 activex 中间层用 c++ 写 dcom 什么的,
这两个相比,那个要好点啊

我看到很多软件公司都是用VB作前端,中间层用 c++ 写 dcom,
很少看到 用DELPHI这么做的,不知何故,

欢迎大家给我点建议
 
推荐一本書給您﹕ DELPHI徹底研究 中國鐵道版社 台灣博碩文化 陳周造 陳燦煌編
有非常詳細的講解﹐值得一看。
學C++Builder的同志也值得一看。
 
如果数据库服务器在局域网内,可以用ado直接连接数据库,而不必通过ado访问odbc的DSN,这样就能够解决
如果数据库服务器在局域网外,可以用三层数据库结构,客户端通过socket连接(或其他连接)和应用服务器连,
有应用服务器和数据库连接
 
可以在广域网实现:
用客户端(浏览器+Activeform)+Web服务器(IIS)+socket连接+中间层+后台数据库
即可,"Web服务器(IIS)+socket连接+中间层+后台数据库"可以在一台服务器上,使用时只要
在浏览器中输入网址,下载Activeform控件后即可使用.
我们现在的项目就是如此!
 
问一下LiWD你的客户端怎么给它配置Midas.dll?
 
傻人!ActivXForm中只放ClientDataSet,????Connections,连接你的应用服务器
ADOConnection放在应用服务器中,你的重点是开发应用服务器。通过ActivXForm执行
将任务交给应用服务器完成。在三层结构中,你的数据模块放在应用服务器中。
 
多人接受答案了。
 
后退
顶部