8 个解决方案
#1
是不是你的线程模式和交易模式,没有设置正确。要不然就是内部逻辑错误,让COM+死在内存中了----只有杀死内存中的COM+,重新调入才可运行。
#2
我的理解如下:
1、M+组件在调试完毕后,忘记把在调试器中启动这个选项没有关掉。如果选中了在调试器中启动这个选项,COM+将在启动后会一直停着。
2、第二个问题:如果久一点不调用这个组件,只好再关开一次。
是因为COM+中有个选项。闲置关闭前的时间,如果您选中“空闲时保持运行“这个选项,应该不会有大的问题。
1、M+组件在调试完毕后,忘记把在调试器中启动这个选项没有关掉。如果选中了在调试器中启动这个选项,COM+将在启动后会一直停着。
2、第二个问题:如果久一点不调用这个组件,只好再关开一次。
是因为COM+中有个选项。闲置关闭前的时间,如果您选中“空闲时保持运行“这个选项,应该不会有大的问题。
#3
我是按照李维的那本书写的,一个M T S / C O M +数据模块,支持事务,一个M T S / C O M +查询对象QueryObj,支持事务,用DcomConnection链接事务数据模块,就输出一个接口,线程模式都取默认值Apartment,最后再用客户端Create这个查询对象.这些应该错不了的吧?至于这个“内部逻辑错误,让COM+死在内存中了”,我就不明白了,不过以前我确实得到结束任务里杀了好多次DllHost.exe。在组件服务管理器里的“在调试器中启动”选项我也注意到了,我调试完后都勾去了。
#4
而第二个问题,现在我想能不能是这样的,不论什么时候打开客户端都能连接到数据库并看到数据,就跟用DataSnap开发的一样:客户端可以自己激活应用服务器的。不知道怎么实现?
#5
这里没有人应吗?
#6
你看得到你的组件被激活了么? 在系统的管理工具\组件服务程序中
如果你看到你的组件是活动的,问题就出在你的COM+程序内部,如果COM+没有活动,问题出在你的客户端,一种可能是你在客户端没有安装代理,二是客户程序没有正确地调用或创建COM+服务程序
如果你看到你的组件是活动的,问题就出在你的COM+程序内部,如果COM+没有活动,问题出在你的客户端,一种可能是你在客户端没有安装代理,二是客户程序没有正确地调用或创建COM+服务程序
#7
可以了,是把查询组件或更新对象的dcomconnection的connected改为false。
现在却有了另外的问题,数据无法写回数据库了,得了个"Variant does not
reference an automation object"的Error框。这又是怎么啦。
现在却有了另外的问题,数据无法写回数据库了,得了个"Variant does not
reference an automation object"的Error框。这又是怎么啦。
#8
Game Over。没事了,现在一切正常。至于那个Error,是由于我
在更新对象中没有把Dcomconnection设为true,如此而已。多谢
那么多位。
在更新对象中没有把Dcomconnection设为true,如此而已。多谢
那么多位。
#1
是不是你的线程模式和交易模式,没有设置正确。要不然就是内部逻辑错误,让COM+死在内存中了----只有杀死内存中的COM+,重新调入才可运行。
#2
我的理解如下:
1、M+组件在调试完毕后,忘记把在调试器中启动这个选项没有关掉。如果选中了在调试器中启动这个选项,COM+将在启动后会一直停着。
2、第二个问题:如果久一点不调用这个组件,只好再关开一次。
是因为COM+中有个选项。闲置关闭前的时间,如果您选中“空闲时保持运行“这个选项,应该不会有大的问题。
1、M+组件在调试完毕后,忘记把在调试器中启动这个选项没有关掉。如果选中了在调试器中启动这个选项,COM+将在启动后会一直停着。
2、第二个问题:如果久一点不调用这个组件,只好再关开一次。
是因为COM+中有个选项。闲置关闭前的时间,如果您选中“空闲时保持运行“这个选项,应该不会有大的问题。
#3
我是按照李维的那本书写的,一个M T S / C O M +数据模块,支持事务,一个M T S / C O M +查询对象QueryObj,支持事务,用DcomConnection链接事务数据模块,就输出一个接口,线程模式都取默认值Apartment,最后再用客户端Create这个查询对象.这些应该错不了的吧?至于这个“内部逻辑错误,让COM+死在内存中了”,我就不明白了,不过以前我确实得到结束任务里杀了好多次DllHost.exe。在组件服务管理器里的“在调试器中启动”选项我也注意到了,我调试完后都勾去了。
#4
而第二个问题,现在我想能不能是这样的,不论什么时候打开客户端都能连接到数据库并看到数据,就跟用DataSnap开发的一样:客户端可以自己激活应用服务器的。不知道怎么实现?
#5
这里没有人应吗?
#6
你看得到你的组件被激活了么? 在系统的管理工具\组件服务程序中
如果你看到你的组件是活动的,问题就出在你的COM+程序内部,如果COM+没有活动,问题出在你的客户端,一种可能是你在客户端没有安装代理,二是客户程序没有正确地调用或创建COM+服务程序
如果你看到你的组件是活动的,问题就出在你的COM+程序内部,如果COM+没有活动,问题出在你的客户端,一种可能是你在客户端没有安装代理,二是客户程序没有正确地调用或创建COM+服务程序
#7
可以了,是把查询组件或更新对象的dcomconnection的connected改为false。
现在却有了另外的问题,数据无法写回数据库了,得了个"Variant does not
reference an automation object"的Error框。这又是怎么啦。
现在却有了另外的问题,数据无法写回数据库了,得了个"Variant does not
reference an automation object"的Error框。这又是怎么啦。
#8
Game Over。没事了,现在一切正常。至于那个Error,是由于我
在更新对象中没有把Dcomconnection设为true,如此而已。多谢
那么多位。
在更新对象中没有把Dcomconnection设为true,如此而已。多谢
那么多位。