毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

远程服务器上的DLL和Exe访问数据库时候有什么注意项

更新时间:2012-10-13:  来源:毕业论文

编译环境:VB6
虚拟服务器: win203,mts
客户端: windows 7 *64 旗舰版
在远程电脑上,我在ActiveX Dll和ActiveX exe组件中通过ADO组件访问数据库一直失败。
在Active Dll中,还能实例化对象,但是若是用connection中open连接就会报错。
在Active Exe中,都不能实例化对象了,直接报 “类不支持自动化“ 这个错。

我知道VB是基于COM的,ActiveX中有一个重要的接口,IDispatch接口,且这个接口方法的参数类型有限制,所以我在ActiveXExe中,定义的方法是public function GetLong() as long ,在方法体中,我用ado访问了一次数据库,最后给GetLong任意赋值返回。就导致不能实例化对象了。但是我若是去除Ado访问数据库的代码,就能远程实例化对象并正常调用方法。

请注意:我的dll或exe都是在远程虚拟服务器上的,并没有放在本地,若是访问本地的dll和exe都没有任何问题。

请各位回答我如下几个问题小学教师实习报告 :
1.远程服务器上的DLL和Exe访问数据库时候有什么注意项。
2.用createobject时候,调用IDispatch接口和IUNKOWN接口的优先级问题,或者说是调用规则。
3.用new对象的时候,调用IDispatch接口和IUNKOWN接口的优先级问题,或者说是调用规则。
4.求服务器上能正常访问数据库的dll和exe代码例子。很简单的,只要能通过客户端调用就行。(我找到,但是都是在本地访问远程数据库服务器的例子)

问题1、4
注意服务端、客户端之间传递的所有对象必须是可序列化的(比如 ADODB.RecordSet)。
服务端应该是无状态的,没有全局实例,所有内部对象必须在一次调用中创建并释放。
还有MTS组件要发布、安装到客户端使用。
4楼说的64位可能是个问题,自己找找微软的文档是否支持!

问题2、3
IUNKOWN 实现引用计数,IDispatch 实现后期绑定。
两者都有严格约定的行为模式,不可随意更改。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。