代理运行的问题。

acmilan1982 2003-09-25 10:34:00
我写了一个将每日未办文件统计起来,在电子公告上播发的代码。
但是当我想将这个代理运行后统计出来的结果发到另外一个服务器的电子公告上,却不能设定时间自动运行,只能手动进行运行。代码应该是没有问题的了,是权限还是哪里出了问题呢?!·

表述不清之处,请大家指正。谢谢了
...全文
54 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingle lu 2003-09-27
  • 打赏
  • 举报
回复
服务器端运行的代理,db.server位置都要使用"";也就是对本服务器操作,使用其它内容,包括本服务器名称或ip都会出错,R5就是这样。
acmilan1982 2003-09-27
  • 打赏
  • 举报
回复
继续HELP啊~!:(
acmilan1982 2003-09-27
  • 打赏
  • 举报
回复
不行啊!!!!:(
acmilan1982 2003-09-27
  • 打赏
  • 举报
回复
但是发邮件,其实也是在第二台服务器上创建一个文档啊!·?
acmilan1982 2003-09-27
  • 打赏
  • 举报
回复
楼上的意思是否是单独开一个ID去接收本地服务器发过来的统计结果。

然后再在第二台服务器上将此统计结果,通过代理播发邮件的内容?

试试看:)
turing600 2003-09-27
  • 打赏
  • 举报
回复
其实可以用邮件实现的,当第二台服务器接收到邮件后,执行代理,将信息贴到公告上就OK了?
ericzh 2003-09-27
  • 打赏
  • 举报
回复
建议在你的程序中加入报错程序段^_^
ericzh 2003-09-27
  • 打赏
  • 举报
回复
首先,在R5中实现跨服务器访问是可以的!我现在做的东西就是跨服务器访问的。但acmilan1982(米兰),我不能告诉你我的代码,这个是公司的制度。你可以做一个跨服务器访问的类,用这个可以实现。我的程序现在已经可以运行了,而且至今还没出现什么问题。我看你们这些程序也太长了吧?这样的程序太难维护了,就算是有个拼写错误你也很难发现。这样的程序你会越改越难的!建议你整理整理思路。^_^
acmilan1982 2003-09-27
  • 打赏
  • 举报
回复
那有什么办法绕过去呢?

请各位支着啊!!!
acmilan1982 2003-09-26
  • 打赏
  • 举报
回复
换成本地服务器全称还是不行啊。也就是说只能用db.server语句才能让此代理自动播发。其他任何替代的语句都不可以!这个就比较难搞明白了。

发邮件这招到是可以,但是,我们想要作到的是将统计结果自动播发,并不是说要知道这个统计结果。发邮件的话,还是要通过人手工将它电子公告出来的啊。

不知道这样可行否:
通过在第二台服务器上做个前台要用手动触发的代理,设定某个人才有权限执行此代理。这个代理的内容是搜索本地的服务器,并将其公告到第二台服务器。(因为我们试过,在本地服务器上通过点右键-运行,就可以将此公告发布到第二台服务器上)最后再用一个时间事件,设定某个时间自动触发这个按钮。
acmilan1982 2003-09-26
  • 打赏
  • 举报
回复
继续HELP啊~!:(
lvhui2001 2003-09-26
  • 打赏
  • 举报
回复
为什么要用ip 呢,db.server 返回的是服务器的全名称,换成ip 当然不认识了,如果想用代理调用另外一台服务器的信息,r5 肯定是不行的,需要转换思路的,为什么不在要求统计的服务器上写代理,统计结果通过邮件渠道发送过来呢?
acmilan1982 2003-09-26
  • 打赏
  • 举报
回复
帮忙啊!!!!
acmilan1982 2003-09-26
  • 打赏
  • 举报
回复
注意看这一句
Set db2 = New NotesDatabase(db.server,"oasoft\ElectronNotify.nsf" )
这是让代理搜索本地服务器,再在本地服务器上创建电子公告。
我原来是直接将“db.server”改成第二台服务器的IP地址。
按照楼上几位的说法,不能访问第二台服务器上的数据库。
可是,如果我把db.server改成本地服务器的IP地址,也是行不通啊。!
这又是为什么呢?

另外:还有没有别的什么办法可以将这个限制绕过去呢?
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim view As NotesView
Dim item As NotesItem
Dim itemtext As String
Set db = session.CurrentDatabase
Set view = db.GetView( "(all)" )


Dim db1 As NotesDatabase
Dim view1 As NotesView
Dim doc1 As NotesDocument
Dim item1 As NotesItem
Dim itemtext1 As String
Set db1 = New NotesDatabase( db.server,"oasoft\SystemManage.nsf" )
Set view1 = db1.GetView("VW-SLIndividualInfor_5")
Set doc1 = view1.GetFirstDocument

Dim db2 As NotesDatabase
Dim doc2 As NotesDocument
Dim rtitem As NotesRichTextItem
Dim richStyle As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
Dim AppName As String

Set db2 = New NotesDatabase(db.server,"oasoft\ElectronNotify.nsf" )
Set doc2 = db2.CreateDocument
Set rtitem = New NotesRichTextItem ( doc2, "body" )

Dim dateTime As NotesDateTime
Set dateTime = New NotesDateTime( "Today" )

'Messagebox( dateTime.LocalTime )
richStyle.FontSize = 14
richStyle.Bold = True
Call rtitem.AppendStyle(richStyle)
Call rtitem.AppendText(" " & dateTime.LocalTime & "统计结果如下:" )
Call rtitem.AddPageBreak
Call rtitem.AddNewLine( 2 )


i = 0

While Not(doc1 Is Nothing)
m = 0
Set item1 = doc1.GetFirstItem( "RegFullName" )
itemtext1 = item1.text



Set doc = view.GetFirstDocument

While Not(doc Is Nothing)
Set item = doc.GetFirstItem("DWCommonName")
itemtext = item.text & "/power/desay"
If (itemtext1 = itemtext ) Then
If ( Cint( Date - doc.SendDate(0)) > 1 ) Then
m = m+1
End If
AppName = item.text
End If
Set doc = view.GetNextDocument(doc)
Wend

If ( m <> 0 ) Then
richStyle.FontSize = 14
'richStyle.Bold = True
Call rtitem.AppendStyle(richStyle)
Call rtitem.AppendText(" " & AppName & ": " + m + "个未办理文件")
Call rtitem.AddNewLine( 2 )
End If
Set doc1 = view1.GetNextDocument(doc1)
Wend
ntko 2003-09-26
  • 打赏
  • 举报
回复
后台代理不能访问第二台服务器上的数据库.Domino设计就是这样,帮助中有说明。
另外,直接右键运行是以你的身份,可以访问。
acmilan1982 2003-09-25
  • 打赏
  • 举报
回复
我已经将这个服务器设置成另一个服务器上电子公告数据库的管理员了,所有权限都已添加。
davely 2003-09-25
  • 打赏
  • 举报
回复
看你的服务器id有没有在另一个服务器上操作的权限
acmilan1982 2003-09-25
  • 打赏
  • 举报
回复
1、没有用到UI类
2、用的是管理员,绝对可以创建代理。
3、不清楚schedule服务是什么。
4、通讯正常,因为我可以手动执行。

看日志,确实是执行了代理,但是就是出了
2003-09-25 10:26:18 AM AMgr: 代理(<发送通知> 在 <oasoft\SomethingToDo.nsf>) 错误消息: Cannot open databases on machines other than the server running your program (10.13.0.7!!oasoft\ElectronNotify.nsf)

konan_lee 2003-09-25
  • 打赏
  • 举报
回复
我想到的可能的问题

1.检查代理是否用了UI类
2.检查你在服务器的权限
3.检查服务器的schedule 服务运行是否正常。
4.检查两个服务器之间是否通讯正常
acmilan1982 2003-09-25
  • 打赏
  • 举报
回复
???可为什么我直接右键运行就可以啊!!?
加载更多回复(3)

536

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧