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 ...
随机推荐
- CentOS 6.3安装配置supervisor进程管理工具
1. Supervisor是一个C/S系统,它可以在类unix操作系统让用户来监视和控制后台服务进程的数量,一个很重要的功能就是监控服务器的主要后台进程,并在出现问题是自动重启. 2. 根据服务器上的 ...
- 参数错误导致bug
1.网站参数与数据库参数名字不一致(大小写). 2.参数漏掉一个字母(characterno写成了charaterno).
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Weixin' did not find a matching property.
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips ...
- php加速缓存器opcache,apc,xcache,eAccelerator
一.opcache opcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销. PHP 5. ...
- PHP下ajax跨域的解决方案之window.name
原理核心:window对象的name属性是一个很特别的属性,当该window的location变化,然后重新加载,它的name属性可以依然保持不变. 依此原理,我们可以在页面A中用iframe加载其他 ...
- css设置超出部分文档隐藏(在table标签中不好使解决方案在下)
css设置: .text-over{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;cursor: pointer} div设 ...
- Santa Claus and a Place in a Class
/* Santa Claus is the first who came to the Christmas Olympiad, and he is going to be the first to t ...
- web服务器部署过程记录
由于之前没有服务器部署经验,又选择了所有软件都是单独编译安装,遇到很多问题,解决之后还是学习到了很多新东西. 如今回过头来还是选择lnmp集成环境的部署方式比较方便快捷:https://lnmp.or ...
- POJ3687.Labeling Balls 拓扑排序
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13201 Accepted: 3811 Descr ...
- 【转】Hibernate的getSQLQuery方法对char类型的解析问题
[转]Hibernate的getSQLQuery方法对char类型的解析问题 建立数据库: create table T_TEST1( id char (32), name varchar (255) ...