Oracle软件包在版本控制中?

时间:2008-11-13 16:27:17

标签: database oracle

幸运的是,我必须与Oracle合作。和包。

我有一个很多不同开发人员正在接触的软件包,这让我很害怕。是否可以在Version Control中放入一个包?有没有某种软件可以做到这一点?如果没有,是否有某种出口程序?我可以从文件系统中获取文件吗?

5 个答案:

答案 0 :(得分:4)

他们是如何输入的?我们上次工作的方式是编辑文本文件,并使用SQL * Plus加载它。您可以将该源文件置于版本控制之下。

源必须位于“CREATE OR REPLACE PACKAGE MYPACKAGE AS”和“END;”之间,后面跟一行自己的斜杠(“/”);和“PACKAGE BODY”而不是“PACKAGE”同上。

是的,有一种方法可以将源代码从Oracle中拉出来。它在一个表中,逐行查找ALL_SOURCE和USER_SOURCE。您可以使用

之类的查询将其拉出来
SELECT TEXT FROM ALL_SOURCE
WHERE TYPE='PACKAGE BODY'
  AND NAME='MYPACKAGE' 
  AND OWNER='MYPACKAGEOWNER'
ORDER BY LINE

(未经测试,因为我无法访问Oracle)并且同样适用于'PACKAGE'。

我认为最好使用SQL * Plus将其再次加载到Oracle中;确保设置“扫描关闭”。

答案 1 :(得分:1)

我们有一个数据库级别触发器来捕获对包的更改并将源保存在单独的表中。它不如版本控制那么好,但至少你知道什么时候发生了变化,如果以后的变化会在它上面发生变化就可以检索它。

答案 2 :(得分:1)

您可以免费下载sql developer:http://www.oracle.com/technology/products/database/sql_developer/files/what_is_sqldev.html。它与subversion和cvs集成。

还有一个Visual Studio插件(http://www.oracle.com/technology/tech/windows/odpnet/index.html)。我不知道你是否使用Visual Studio?

答案 3 :(得分:0)

尝试针对Oracle的http://code.google.com/p/oracle-ddl2svn/版本控制

答案 4 :(得分:-1)

还要看this link。它是一个PHP / mySQL版本控制工具,适用于任何数据库类型,并且相当容易学习。