W wjs Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-06 #1 我学做三层,用oracle 做后台服务器,为何应用程序服务器死机? 而用dbf表则正常,(另外,在三层情况下,客户端怎样登陆服务器?)
P philips Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-07 #3 一、开发应用程序服务器 1、新建应用程序 2、建立远程数据模块 3、在远程数据模块内加入数据集(table or query)组件(可与oracle数据库连接) 4、在远程数据模块内加入TDataSetProvider组件并与数据集(table or query)组件连接 5、注册服务器应用程序(运行该应用程序服务器即可) 二、开发客户端程序 1、新建应用程序 2、在窗体中 加入TClientDataSet组件 3、在窗体中 加入TDCOMConnection组件 4、设定TDCOMConnection组件的 computerName为应用程序服务器所在机器名称 5、设定TDCOMConnection组件的 ServerName属性。 6、设定TDCOMConnection组件的Connected为True,此时应用程序服务器自动激活。 7、设定TClientDataSet 的 RemoteSrver 为上一步加入的DCOMConnection, 8、设定TClientDataSet的DataSetProvider属性 (从下拉列表框看到所有注册的 应用程序服务器,选取你的即可)。 9、设定TClientDataSetActive 为True。其他同本地数据库的用法相同。 三、你的应用程序服务器死机原因: 没有将应用程序服务器的TDatabae HandleShared设定为true, 改之即可。
一、开发应用程序服务器 1、新建应用程序 2、建立远程数据模块 3、在远程数据模块内加入数据集(table or query)组件(可与oracle数据库连接) 4、在远程数据模块内加入TDataSetProvider组件并与数据集(table or query)组件连接 5、注册服务器应用程序(运行该应用程序服务器即可) 二、开发客户端程序 1、新建应用程序 2、在窗体中 加入TClientDataSet组件 3、在窗体中 加入TDCOMConnection组件 4、设定TDCOMConnection组件的 computerName为应用程序服务器所在机器名称 5、设定TDCOMConnection组件的 ServerName属性。 6、设定TDCOMConnection组件的Connected为True,此时应用程序服务器自动激活。 7、设定TClientDataSet 的 RemoteSrver 为上一步加入的DCOMConnection, 8、设定TClientDataSet的DataSetProvider属性 (从下拉列表框看到所有注册的 应用程序服务器,选取你的即可)。 9、设定TClientDataSetActive 为True。其他同本地数据库的用法相同。 三、你的应用程序服务器死机原因: 没有将应用程序服务器的TDatabae HandleShared设定为true, 改之即可。
吴 吴剑明 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-07 #4 >>三、你的应用程序服务器死机原因: >> 没有将应用程序服务器的TDatabae HandleShared设定为true, 改之即可。 如果是这样的话,加个TSESSION控件,让他自动建立SESSION,还更好。
>>三、你的应用程序服务器死机原因: >> 没有将应用程序服务器的TDatabae HandleShared设定为true, 改之即可。 如果是这样的话,加个TSESSION控件,让他自动建立SESSION,还更好。
X xfma Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-07 #6 MIDAS的客户机登录服务器和C/S完全一样,是在应用服务器端进行的。给应用服务器中的 database控件加上server name, user name, password三个参数即可,参数可以在服务器 程序中写死,也可以通过客户端传过来,使用type library工具,增加一个登录函数 login(servername, username, password),在客户端调用 socketconnection.appserver.login(servername,username,password)即可。
MIDAS的客户机登录服务器和C/S完全一样,是在应用服务器端进行的。给应用服务器中的 database控件加上server name, user name, password三个参数即可,参数可以在服务器 程序中写死,也可以通过客户端传过来,使用type library工具,增加一个登录函数 login(servername, username, password),在客户端调用 socketconnection.appserver.login(servername,username,password)即可。
W wjs Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-09 #7 多谢三位! philips: 按你的方法,在死机方面有所改进,但仍须手工关闭一次应用程序服务器,才可正常浏览, 能否不用手工关闭一次应用程序服务器就正常工作?(oracle7) 吴剑明: 加上TSESSION,对我的问题没有改善, xfma: 能否详细些? 请大家继续指教,不胜感激。
多谢三位! philips: 按你的方法,在死机方面有所改进,但仍须手工关闭一次应用程序服务器,才可正常浏览, 能否不用手工关闭一次应用程序服务器就正常工作?(oracle7) 吴剑明: 加上TSESSION,对我的问题没有改善, xfma: 能否详细些? 请大家继续指教,不胜感激。
P philips Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-12 #8 我在为别人开发三层软件,也用oracle做数据库服务器,在开发应用程序服务器及瘦客户程序时, 遇到过无法成功启动应用程序服务器的问题,出了前面的步骤之外,特别要注意远端数据模块 的 database 组件的 LoginPrompt属性,先将其置为 false,并在OnLogin事件填写 user name = xxx password = xxx 这样,即可成功启动应用程序服务器。如果愿意,可再次将LoginPrompt属性,先将其置为 true. 但此时问题已解决,这可能是delphi的小bug,但给开发者带来的问题可不小。 这算做上面答案第三条的补充吧。
我在为别人开发三层软件,也用oracle做数据库服务器,在开发应用程序服务器及瘦客户程序时, 遇到过无法成功启动应用程序服务器的问题,出了前面的步骤之外,特别要注意远端数据模块 的 database 组件的 LoginPrompt属性,先将其置为 false,并在OnLogin事件填写 user name = xxx password = xxx 这样,即可成功启动应用程序服务器。如果愿意,可再次将LoginPrompt属性,先将其置为 true. 但此时问题已解决,这可能是delphi的小bug,但给开发者带来的问题可不小。 这算做上面答案第三条的补充吧。
P philips Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-13 #10 lha: 您好! 我的意思是: 抛砖引玉。这方面的帖子回答的人气不旺... delphi无须对程序员要求设置database组件的用户名和口令,而是在必要时 给出提示。即: LoginPrompt=true 时直接提示,由用户给出注册信息,而不是死机。 LoginPrompt=false时使用设计时提供的口令。 至少我的实践是这样结果,不知你的结论怎样,愿闻高见。
lha: 您好! 我的意思是: 抛砖引玉。这方面的帖子回答的人气不旺... delphi无须对程序员要求设置database组件的用户名和口令,而是在必要时 给出提示。即: LoginPrompt=true 时直接提示,由用户给出注册信息,而不是死机。 LoginPrompt=false时使用设计时提供的口令。 至少我的实践是这样结果,不知你的结论怎样,愿闻高见。
M maming Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-14 #11 解决了吧! 我想就因为服务器的用户登录错了吧! 服务器没办法联接数据库而出的错吧!