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事务批量更新数据库
今天比较闲看到大家在群里讨论关于数据库操作的问题,其中谈到了"事务"这个词,坦白讲虽然作为计算机专业的学生,在上学的时候确实知道存储过程.触发器.事务等等这些名词的概念,但是由于毕 ...
随机推荐
- luogu2155 [SDOI2008]沙拉公主的困惑
link 求出1到N的阶乘中与M的阶乘互质的数的个数,对R取模,多组询问,R<=10^9+10,T<=10000,1 < = N , M < = 10000000 1到\(M! ...
- linux进程池模型
static int nchildren;static pid_t* pids;int main(int argc,char**argv){ int listenfd,i; socklen_t add ...
- k-sum 问题
问题描述 给定一个数组及数字 k ,从数组中找出所有相加结果为 k 的组合. 示例: 给定数组 [1,1,1] 令 k=2,输出: [[1,1]] 给定数组 [10, 1, 2, 7, 6, 1, 5 ...
- 查看php 相关信息
PHP系统常量 __FILE__ 当前PHP程序脚本的绝对路径及文件名称 __LINE__ 存储该常量所在的行号 __FUNCTION__ 存储该常量所在的函数名称 __CLASS__ 存储该常量所在 ...
- 75th LeetCode Weekly Contest All Paths From Source to Target
Given a directed, acyclic graph of N nodes. Find all possible paths from node 0 to node N-1, and re ...
- lintcode - 被围绕的区域
class Solution { public: /* * @param board: board a 2D board containing 'X' and 'O' * @return: nothi ...
- 关于form组件的补充-------formChoice
form组件的Choice字段 还是基于出版社和书的模型来详解 models.py(模型) from django.db import models # Create your models here ...
- ubuntu中误删/var/lib/dpkg/info的补救方法
今晚在ubuntu上安装一个软件时,出现这样的错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1)然后在网上找了查找问题原因及解决方 ...
- python3 发送QQ邮件
from email.header import Headerfrom email.mime.text import MIMETextfrom smtplib import SMTP_SSL emai ...
- Vue循环中多个input绑定指定v-model
Vue.js中提供了v-model可以双向绑定表单元素,这个方法可以非常方便的获得输入的值,但是有时候表单元素需要循环生成,在循环中要怎样获得指定输入框的值呢 这里介绍两种,一种是v-for中循环生成 ...