LotusScript_批量更改数据库标识符(id)
OA开发中经常要搭建测试环境,测试环境的数据库与原数据库不能有ID冲突现象,以防混淆。以下是一个批量修改数据库标识符的方法,其中,取得这些需要更改的数据库,需要导出源服务器上的数据库路径和名称,方法详见我的博文:LotusScript_导出数据库路径和名称
Sub Initialize Const SourceServer = "xxx.xxx.xxx.xxx" 'NSF源服务器
Const TargetServer = "xxx.xxx.xxx.xxx" 'NTF中转服务器
Const TargetServer2 = "xxx.xxx.xxx.xxx" 'NSF目标服务器
Const FilePath= "C:\ResetReplicaID.xls" ’待修改的数据库路径 Dim s As New NotesSession
Dim db As NotesDatabase
Dim template As NotesDatabase '模版名称,需要在源服务器建立模版
Dim brandNewDb As NotesDatabase '新建数据库
Dim replica As NotesDatabase '复本数据库 Dim xlApp As Variant
Dim xlBook As Variant
Dim xlsheet As Variant
Dim i As Integer Dim DbFile As String 'A:数据库路径名, ex: oa\Attendance.nsf
Dim DbTitle As String 'B:数据库标题, ex:考勤管理
Dim DbPath As String 'C:路径, ex: oa\
Dim DbName As String 'D:数据库文件名,不带后缀, ex: Attendance Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(FilePath)
xlApp.Visible=True
Set xlsheet = xlBook.Worksheets() '打开EXCEL工作表
xlsheet.Activate '激活工作表 i=
While Trim(xlsheet.Range("A"+Trim(Str(i))).Value)<>"" DbFile = Trim(xlsheet.Range("A"+Trim(Str(i))).Value)
DbTitle = Trim(xlsheet.Range("B"+Trim(Str(i))).Value)
DbPath = Trim(xlsheet.Range("C"+Trim(Str(i))).Value)
DbName = Trim(xlsheet.Range("D"+Trim(Str(i))).Value) Set db = s.GetDatabase(SourceServer, DbFile, False) If Not db Is Nothing Then
Set replica =db.CreateReplica(TargetServer, "TEST\"+DbPath+DbName+".ntf")
replica.Title=DbTitle
Set template = s.GetDatabase(TargetServer, "TEST\"+DbPath+DbName+".ntf")
If Not template Is Nothing Then
'Call db.Remove'=========Warning========在源服务器上移除源数据库
Set brandNewDb =template.CreateFromTemplate(TargetServer2, DbFile, False)
brandNewDb.Title = DbTitle
End If
Else
Msgbox "Can't open the database"+SourceServer+":"+DbFile+"!"
End If
Print "No."+Str(i)+"——"+SourceServer+" : "+DbFile+"已经成功!"
i=i+
Wend
End Sub
LotusScript_批量更改数据库标识符(id)的更多相关文章
- 批量更改数据库表架构(生成sql后直接执行!)
批量更改数据库表架构(生成sql后直接执行!) use my_test; --当前数据库 ), ), ), @NewSql VARCHAR(max), @Index INT; SET @SchemaO ...
- 批量更改数据库COLLATION
企业内部有很多系统是繁体的,由于各方面的原因,公司目前正在实行简体化,但各系统中又有数据间的交换,所以系统只能一个一个的更改,以防同时出现过多的问题.由于原先数据库只能存储繁体,而原先已存在的数据则可 ...
- Mysql 查看、创建、更改 数据库和表
一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...
- SQL server2000更改数据库名称
如果是SQL Server 2005可以直接右键重命名,但是SQL Server 2000中不能直接改,可以用sp_renamedb. 1.方法一(物理法): 把Old数据库改为New数据库 打开“企 ...
- java更改数据库中的数据
不废话,上代码 package com.ningmeng; import java.sql.*; /** * 1:更改数据库中的数据 * @author biexiansheng * */ publi ...
- SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...
- 使用FMDB事务批量更新数据库
今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了“事务”这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕业后从事的不是服务器 ...
- php大力力 [020节]mysql数据库唯一id字段如何设置
2015-08-26 php大力力020.mysql数据库唯一id字段如何设置 不懂 以下有些文章 mysql唯一id 自动生成 uuid mysql 里面可以用uuid()语句来生成一个UUID:s ...
- iOS中使用FMDB事务批量更新数据库
今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了"事务"这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕 ...
随机推荐
- P1472 奶牛家谱 Cow Pedigrees
题意:问你指定二叉树有几种 1.高度为k 2.节点数为n 3.每个点的度为0或2 爆搜------->30分QAQ 首先,因为每个节点度为0或2, 所以如果n是偶数直接输出0就行了吧(嘿嘿) 如 ...
- 5分钟构建无服务图片鉴黄web应用(基于FunctionGraph)
函数工作流(FunctionGraph,FGS)是一项基于事件驱动的函数托管计算服务,托管函数具备以毫秒级弹性伸缩.免运维.高可靠的方式运行.即使在一些复杂的web应用场景中,函数工作流也能发挥出令人 ...
- C++基础学习5:强制类型转换
在C++语言中新增了四个关键字static_cast.const_cast.reinterpret_cast和dynamic_cast.这四个关键字都是用于强制类型转换的.我们逐一来介绍这四个关键字. ...
- python安装出现的证书问题
1. pip install pyenv 安装时出现下图错误 Could not install packages due to an EnvironmentError: HTTPSConnectio ...
- sqlmap用法
用法 Usage: python sqlmap.py [options] Options: -h, --help Show basic help message and exit -hh Show a ...
- mysql不支持emoji表情的问题的解决方法
最近财神圈项目集成微信登录功能的过程中,当保存用户有昵称含有表情符号时后台服务抛出异常,原来是数据库默认字符集不支持emoji表情字符.找到问题的原因后,因为之前也没有遇到过这样的问题,也没思路,迅速 ...
- C语言实践
初学者往往有这样的困惑: 教程也阅读了,知识点也理解了,但是真正编写代码起来无从下手. 连一些基本的小程序都不能完成. 究其原因,就是缺少实践,没有培养起编程思维. 没有处理相关问题的经验. 编程能力 ...
- HDU-Big Number (斯特林公式)
In many applications very large integers numbers are required. Some of these applications are using ...
- hdu2066一个人的旅行(disjkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- C++二维数组的动态声明
int **a = new int* [m] //分配一个指针数组,将其首地址保存在a中 . for(int i = 0; i < m; i++) //为指针数组的每个元素分配一 ...