|
Sub Initialize Dim GdbDel As New notesDatabase("", "nameslist.nsf") If Not GdbDel.isopen Then Call GdbDel.open("", "") End If Dim GviewDel As notesview Set GviewDel=GdbDel.getview("NamesView") Dim GdcDel As notesdocumentcollection Set GdcDel=GviewDel.getalldocumentsbykey("1") Call GdcDel.RemoveAll(True) End Sub 在页面的WebQueryOpen里使用此代理能将视图NamesView中的数据删除掉,但是将代理改为定时代理后,定时代理运行错误:Object variable not set。请问这是为何呀? (定时代理的属性:共享代理复选框选中;运行此代理代理的时间选择按日执行,填写每日12:00;指定代理操作的文档选择数据库中的全部文档)配置文档里运行代理的权限设置成admin/cert--管理员,BOA/cert--服务器。将权限改为*同样的结果。 |
|
|
|
是不是你的文档用了读者域?共享的定时代理自动运行时是用服务器ID的权限,是否你的文档读者域里面没有服务器
|
|
|
在要删除的NamesView视图所使用的form里没有设置读者域呀,是否默认所有用户包括服务器都在读者域之内?
|
|
|
怎么不行啊,
|
|
|
这样,把Dim GdbDel As New notesDatabase("", "nameslist.nsf")中的服务器名也加上试试。
Dim GdbDel As New notesDatabase("MyDominoServerName", "nameslist.nsf") |
|
|
建议先看看日志log.nsf,一般代理执行错误时会有错误提示信息,有可能数据库根本没有打开
|
|
|
log.nsf日志里的错误为:Object variable not set
|
|
|
那就是你这个代理有错误了,
看看这样行吗 Dim db As New NotesDatabase( "", "nameslist.nsf" ) If db.IsOpen Then Messagebox( "The database nameslist.nsfalready exists." ) Else Messagebox( "Creating the database nameslist.nsf..") Call db.Create( "", "", True ) |
|
|
代理错误
|
|
|
你的程序有問題
|
|
|
if not GdbDel.isOPen then
这段代码没什么用处,建议删除,然后检查代理运行是否指定的运行的服务器的。 |
|