OA开发中经常要搭建测试环境,测试环境的数据库与原数据库不能有ID冲突现象,以防混淆。以下是一个批量修改数据库标识符的方法,其中,取得这些需要更改的数据库,需要导出源服务器上的数据库路径和名称,方法详见我的博文:LotusScript_导出数据库路径和名称

  1. Sub Initialize
  2.  
  3. Const SourceServer = "xxx.xxx.xxx.xxx" 'NSF源服务器
  4. Const TargetServer = "xxx.xxx.xxx.xxx" 'NTF中转服务器
  5. Const TargetServer2 = "xxx.xxx.xxx.xxx" 'NSF目标服务器
  6. Const FilePath= "C:\ResetReplicaID.xls" ’待修改的数据库路径
  7.  
  8. Dim s As New NotesSession
  9. Dim db As NotesDatabase
  10. Dim template As NotesDatabase '模版名称,需要在源服务器建立模版
  11. Dim brandNewDb As NotesDatabase '新建数据库
  12. Dim replica As NotesDatabase '复本数据库
  13.  
  14. Dim xlApp As Variant
  15. Dim xlBook As Variant
  16. Dim xlsheet As Variant
  17. Dim i As Integer
  18.  
  19. Dim DbFile As String 'A:数据库路径名, ex: oa\Attendance.nsf
  20. Dim DbTitle As String 'B:数据库标题, ex:考勤管理
  21. Dim DbPath As String 'C:路径, ex: oa\
  22. Dim DbName As String 'D:数据库文件名,不带后缀, ex: Attendance
  23.  
  24. Set xlApp = CreateObject("Excel.Application")
  25. Set xlBook = xlApp.Workbooks.Open(FilePath)
  26. xlApp.Visible=True
  27. Set xlsheet = xlBook.Worksheets() '打开EXCEL工作表
  28. xlsheet.Activate '激活工作表
  29.  
  30. i=
  31. While Trim(xlsheet.Range("A"+Trim(Str(i))).Value)<>""
  32.  
  33. DbFile = Trim(xlsheet.Range("A"+Trim(Str(i))).Value)
  34. DbTitle = Trim(xlsheet.Range("B"+Trim(Str(i))).Value)
  35. DbPath = Trim(xlsheet.Range("C"+Trim(Str(i))).Value)
  36. DbName = Trim(xlsheet.Range("D"+Trim(Str(i))).Value)
  37.  
  38. Set db = s.GetDatabase(SourceServer, DbFile, False)
  39.  
  40. If Not db Is Nothing Then
  41. Set replica =db.CreateReplica(TargetServer, "TEST\"+DbPath+DbName+".ntf")
  42. replica.Title=DbTitle
  43. Set template = s.GetDatabase(TargetServer, "TEST\"+DbPath+DbName+".ntf")
  44. If Not template Is Nothing Then
  45. 'Call db.Remove'=========Warning========在源服务器上移除源数据库
  46. Set brandNewDb =template.CreateFromTemplate(TargetServer2, DbFile, False)
  47. brandNewDb.Title = DbTitle
  48. End If
  49. Else
  50. Msgbox "Can't open the database"+SourceServer+":"+DbFile+"!"
  51. End If
  52. Print "No."+Str(i)+"——"+SourceServer+" : "+DbFile+"已经成功!"
  53. i=i+
  54. Wend
  55. End Sub

LotusScript_批量更改数据库标识符(id)的更多相关文章

  1. 批量更改数据库表架构(生成sql后直接执行!)

    批量更改数据库表架构(生成sql后直接执行!) use my_test; --当前数据库 ), ), ), @NewSql VARCHAR(max), @Index INT; SET @SchemaO ...

  2. 批量更改数据库COLLATION

    企业内部有很多系统是繁体的,由于各方面的原因,公司目前正在实行简体化,但各系统中又有数据间的交换,所以系统只能一个一个的更改,以防同时出现过多的问题.由于原先数据库只能存储繁体,而原先已存在的数据则可 ...

  3. Mysql 查看、创建、更改 数据库和表

    一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...

  4. SQL server2000更改数据库名称

    如果是SQL Server 2005可以直接右键重命名,但是SQL Server 2000中不能直接改,可以用sp_renamedb. 1.方法一(物理法): 把Old数据库改为New数据库 打开“企 ...

  5. java更改数据库中的数据

    不废话,上代码 package com.ningmeng; import java.sql.*; /** * 1:更改数据库中的数据 * @author biexiansheng * */ publi ...

  6. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  7. 使用FMDB事务批量更新数据库

    今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕业后从事的不是服务器 ...

  8. php大力力 [020节]mysql数据库唯一id字段如何设置

    2015-08-26 php大力力020.mysql数据库唯一id字段如何设置 不懂 以下有些文章 mysql唯一id 自动生成 uuid mysql 里面可以用uuid()语句来生成一个UUID:s ...

  9. iOS中使用FMDB事务批量更新数据库

    今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了"事务"这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕 ...

随机推荐

  1. java程序设计实验

    建立文件调试jdk idea断点调试 项目素数的寻遍

  2. AngularJs ng-repeat解决循环对象出现重复项报错的问题

    问题:ng-repeat  的循环对象是不能出现重复项的,所以如果有重复的就会报错,应该是 key value的问题吧,不是很了解内部运行机制:经过查询发现 在 循环后面加上  track by $i ...

  3. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三)

    [checked 和 unchecked 基元类型操作] 1.第一种使用方式 UInt32 invalid = )); //OK,不会抛异常 Byte b = ; b = ));//抛出Overflo ...

  4. hdu6440 Dream 2018CCPC网络赛C 费马小定理+构造

    题目传送门 题目大意: 给定一个素数p,让你重载加法运算和乘法运算,使(m+n)p=mp+np,并且 存在一个小于p的q,使集合{qk|0<k<p,k∈Z} 等于集合{k|0<k&l ...

  5. fiddler抓包出现错误 creation of the root certificate was not successful

    fiddler安装完要配置才可以抓取HTTP 1.首先 找到Tools——>Options,在弹出的菜单中 选择https项 勾选捕捉https,这样配置完OK之后 一般会弹窗提示安装证书,点击 ...

  6. day_05 字典

    1. 字典 1.成对保存数据 ,以key:value形式保存 2.以{}表示,每项内容都是key:value,元素之间用逗号隔开 3.key是不可重复的 4.字典以hash算法来计算key的hash值 ...

  7. 不要滥用SharedPreference

    SharedPreference是Android上一种非常易用的轻量级存储方式,由于其API及其友好,得到了很多很多开发者的青睐.但是,SharedPreference并不是万能的,如果把它用在不合适 ...

  8. 2019.03.21 读书笔记 枚举ENUM

    其实没必要为枚举显式赋值,如果赋值了,就一定要全部赋值,否则默认在上一个元素的基础上+1,如果不给枚举变量赋值,就算枚举中没有0元素,也会显示为0,而超出枚举范围的整型数据,也会显示值本身,而不是异常 ...

  9. 电感的Q值

    电感的Q值又称为品质因数,即在通过一定频率信号时,感抗与等效损耗之比.品质因数越高即系统损耗越小效率越高,一般为50`100,最高500左右,再大就会烧毁.一般Q值与很多因素有关:绕线粗细,长度与直径 ...

  10. hybird app 工具选型

    目前hybird app工具众多,如何选择?哪个坑少点呢? 下面来分析一下: 1开发工具都开源.基于Eclipse的有:apicloud,WeX5 2热门指数.下面的百度的搜索结果数,代表不了什么,至 ...