关于创建数据库

Lucern 2008-09-03 03:10:15
我在名为oa的数据库上运行代理要在oa2数据库上以gongwen.ntf为模板创建一个新的数据库该怎么办呢?
oa2是oa的附加服务器,两个服务器做群集的。
可是我用CreateFromTemplate("oa2",Filename,True)却调试不通过,老是出错,或者有什么其他办法可实现吗?
...全文
101 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oliverfive 2008-09-25
  • 打赏
  • 举报
回复
是不是那个服务器没有那个模板库?还有,查下那个服务器的创建数据库的权限问题。
Lucern 2008-09-25
  • 打赏
  • 举报
回复
err,我在帖子里面说错了,是叫oa2的服务器,我写的那段程序在oa服务器上运行是没问题的,可是在oa2服务器上运行就死活不通过,creatfromtemplate那一行报错说No resume,我很抓狂。即使我用db.server替代"oa2"也是不行的,不知道为什么,结果搞得我就卡在这里了。
cnscns 2008-09-04
  • 打赏
  • 举报
回复
createfromtemplate的第一个参数应该是服务器名,不是数据库名。给段以前写的代码供参考。注意,代码未经测试。
功能是给通讯录里面的用户重建邮箱。
Sub Initialize
'获取服务器的通讯录
Dim ss As New NotesSession
Dim books As Variant
books = ss.AddressBooks
Dim adb As NotesDatabase
Forall b In books
If b.IsPublicAddressBook Then
Set adb = b
Call adb.Open(b.server,b.filepath)
End If
End Forall
'获取通讯录个人视图
Dim view As notesview
Set view = adb.GetView("people")

Dim doc As notesdocument
Set doc = view.GetFirstDocument
'邮件模板
Dim tdb As New NotesDatabase(adb.server,"mail7.ntf")

Dim db As notesdatabase
Dim ACL As NotesACL
Dim ACLEntry As NotesACLEntry
While Not doc Is Nothing
'注意:下面的doc.FirstName(0) 是你想用来作为邮件名的,当然你也可以用别的,用firstname很容易有重名的情况
Set db = tdb.CreateFromTemplate(adb.server,"mail\"+doc.FirstName(0)+".nsf",True)
'设置邮件库名称
db.Title = doc.FirstName(0)
'设置数据库ACL,可以根据实际情况调整
Set ACL = db.ACL
Set ACLEntry = ACL.CreateACLEntry(doc.FullName(0),ACLLEVEL_MANAGER)
ACLEntry.IsPerson = True
Call ACL.Save
'修改通讯录中的邮件路径
Call doc.ReplaceItemValue("MailFile","mail\"+doc.FirstName(0)+".nsf")
Call doc.Save(True,True)
Set doc = view.GetNextDocument(doc)
Wend
End Sub

536

社区成员

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

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