PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理
PL/SQL是面向Oralcle数据库的集成开发环境,是众多Oracle数据库开发人员的主要工具。由于PL/SQL(百度百科)不仅是一种SQL语言,更是一种过程编程语言,在项目实施过程中,会积累大量除存储过程之外的程序代码。既然有代码,就必须对代码进行版本管理,实现代码变更的追溯和备份,这是软件开发过程的基本要求。作为使用Team Foundation Server (TFS)作为团队的应用软件生命周期管理(ALM)平台的企业,自然会要求TFS系统与PLSQL之间实现集成开发。在这个博客中,我主要介绍PLSQL连接TFS系统的软件环境,以及使用PLSQL与TFS集成,实现数据库脚本/代码版本管理的最佳实践。
一、必要条件
- MSSCCI
MSSCCI可以集成TFS与不支持团队资源管理器(Team Explorer)的开发工具,从而是这些开发工具可以与TFS结合实现源代码的版本管理。MSSCCI实际上是TFS的一系列API集合,开发工具可以通过调用其中的接口连接TFS服务器,实现与团队自由管理器一样的代码管理功能。除了非微软的第三方开发工具可以集成MSSCCI之外,实际上,许多老版本的Visual Studio(例如Visual Studio 2005)也需要集成它以后,才能连接TFS服务器。你可以通过下面的地址从Visual Studio市场中下载MSSCCI。
- PL/SQL版本控制插件
如果你的PLSQL Developer开发工具中已经有了CVS菜单,你不需要下载安装这个插件。否则,请重下面的地址下载安装它:http://www.allroundautomations.com/download/vcs124.zip
- TFS团队资源管理器 (TFS TE)
TFS团队自由管理器是TFS服务器原生的客户端程序,也是Visual Studio的一个精简版本,可以通过它实现源代码管理、工作项管理、生产管理等。可以通过下面的地址下载TFS 2013的版本:https://www.microsoft.com/en-us/download/details.aspx?id=40785。由于TFS 2015并没有发布对应的TFS TE版本,目前最新的TFS 2017 TE又不支持MSSCCI,你只能下载2013版本。幸运的是,经过测试,2013版本的团队自由管理器支持TFS 2017。
二、安装和配置
1. 安装PL/SQL
PLSQL的安装基本是傻瓜式的,不用说明。需要说明的是,安装完成以后,随便去搜一个序列号激活软件,网上有许多。
2. 安装Oracle客户端
Oracle客户端是PLSQL连接Oracle服务器必须的前提条件。
安装完成以后,可以参考下面的方法,把数据服务器的相关信息配置在tnsnames.ora文件中,你也可以在需要连接的时候在PLSQL中直接输入。
1. 添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径.
(如:C:\Ora10InstantClient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),
这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,
那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
2. 配置服务器连接信息,即配置tnsnames.ora中的内容,示例如下:
ECIFDB_TEST = ) |
3. 下载并安装源代码插件
http://www.allroundautomations.com/download/vcs124.zip
4. 下载并安装MS Visual Studio2013团队自由管理器
http://www.microsoft.com/en-us/download/details.aspx?id=39314
5. 下载并安装TFS 2013 MSSCCI Provider 32-bit
三、PL/SQL代码版本管理实践
1. 连接Oracle数据库
使用PLSQL连接我在上面配置好的数据库。如果你不需要在线调试SQL脚本,可以点击取消。
2. 连接TFS服务器
在PL/SQL中选择Open Project,连接TFS服务器。这里的Project,可以理解为服务器上存储代码的一个目录。
选择TFS服务器上的代码路径,指定本地的对应路径。本地路径就是PL/SQL的工作路径。
3. 签出
PL/SQL从服务器上自动下载、打开签出的数据脚本文件,你可以开发编辑、调试你的脚本了。
4. 签入
完成代码编辑和调试以后,可以直接在PLSQL中签入修改的代码。
在签入中选择文件,填写签入备注信息,例如我这里写了”这是张洪君在PL/SQL中测试签入代码“
使用过TFS系统的人,对下面的这个截图应该比较熟悉,你可以在这里选择签入的文件、修改注释、管理工作项等等。
下图是在TFS服务器上查看签入成功的文件:
(微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang )
5. 其他
- 除了典型的签入、签出之外,你可以使用其他的版本控制功能,例如撤销(Undo)、新增(Add)等等,这些都比较简单,自己摸索一下。
PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理的更多相关文章
- 在Sublime中集成Team Foundation Server (TFS),实现版本管理
Sublime是一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,由于它开发的技术架构.丰富的插件,和轻盈而快速的编程响应,Sublime广受程序员的爱好.在C, C++, Javascri ...
- Team Foundation Server (TFS)与Project Server集成,使用DNS(友好地址)地址注册PWA
问题描述: 当Team Foundation Server(TFS 2010/2012/2013)与Project Server高可用性的环境集成时,必然会使用Project Server (PWA) ...
- 在域信任环境中使用 Team Foundation Server (TFS 2013)
原文:在域信任环境中使用 Team Foundation Server (TFS 2013) 1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质 ...
- Visual Studio 6 (VC6)连接Team Foundation Server (TFS 2018),实现源代码的版本管理
1. 概述 Visual Studio 6(VB6, VC6, Foxpro-)是微软公司在1998年推出的一款基于Windows平台的软件开发工具,也是微软推出.NET开发框架之前的最后一个IDE工 ...
- 自定义Team Foundation Server (TFS) 与Project Professional的集成字段
用户可以象使用Office Excel一样,使用Project Professional连接TFS,将数据下载到本地修改,并且发布到TFS服务器上,如果你习惯使用Project来计划你的项目,那么Pr ...
- 版本管控---Visual Source Safe(VSS)和Team Foundation Server(TFS)
Visual Source Safe 是用于软件专业开发人员的源代码管理工具 Team Foundation Server是为开发团队提供集成源代码管理.问题跟踪和进程管理的更改管理系统 相同点 1. ...
- 让Team Foundation Server/TFS自动记住用户名密码解决方案
在使用Team Foundation Server(以下简称TFS) 的时候,在每次打开Visual Studio TFS时候,需要输入用户名和秘密,比较麻烦.现提供一种方法可以解决这个问题: 依次执 ...
- Team Foundation Server (TFS)集成Flyway,实现数据库的版本管理
1 概述 在系统开发过程中,我们对软件源代码的版本管理,已经有了比较成熟的解决方案.通过使用TFVC或GIT等源代码管理工具,可以非常方便的对软件代码实现回退.比较.分支合并等版本操作.对于软件依赖的 ...
- In-Place upgrade to Team Foundation Server (TFS) 2015 from TFS 2013Team Foundation Server TFS TFS 2015 TFS upgrade TFS with Sharepoint
This upgrade document gives detailed step by step procedure for the In-Place upgrade from TFS 2013 t ...
随机推荐
- windows下多个文件合并成一个文件
如果你拿到的是一堆文件,那么你想把它合并成一个文件来使用,那么按下面的步骤,轻轻松松就可以搞定. 第一步:把所有要合并的文件放到同一个文件下面 第二步:在CMD里面进入到你的文件目录 第三步:输入如下 ...
- Appium的inspector使用
使用inspectot可以对元素进行定位 1.设置appium的Android Settings,点击左上角的安卓图标进入安卓设置,注意设置时不要开启appium 说明: a)Application是 ...
- Java集合set的并、交、差操作
集合的并.交.差操作 Set<Integer> result = new HashSet<Integer>(); Set<Integer> set1 = new H ...
- hdoj2859(矩阵DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 思路: 第一次碰到这种矩阵上的DP题,想了半天也没想明白.本来想用子矩阵的左上角坐标和右下角坐标 ...
- valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory
这是没有配置lib环境变量的缘故. 注意要把lib配置放到path配置前面. 导出VALGRIND_LIB路径,用法如下(假设valgrind已经被安装到/home/test/valgrind目录): ...
- css样式优先级和权重问题
内联样式: <div style="font-size: 12px;">姓名</div> 外部样式: <link rel="styleshe ...
- nzhtl1477-ただいま帰りました ( bfs )
nzhtl1477-ただいま帰りました 题目描述 珂学题意: 你是威廉!你要做黄油蛋糕给珂朵莉吃~! 68号岛有n个商店,有的商店直接有小路连接,小路的长度都为1 格里克告诉了你哪些地方可能有做黄油蛋 ...
- Jmeter获取不到cookie(备注:前面和后面的几个步骤都可以获取到cookie)
今天的一个Jmeter脚本,有一个HTTP request始终获取不到cookie,但其前面和后面的几个步骤都可以获取到cookie,报文的请求服务器地址都是照着fiddler上面填的,没有问题,后来 ...
- cuda使用
import torchx = torch.randn(2, 3)x = x.cuda() print (x)#最简单的cuda使用,但是感觉好慢啊
- UUID含义及ubuntu配置系统默认JDK
UUID含义是通用唯一识别码(Universally Unique Identifier) GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生 ...