ORACLE - 将程序/包导出到文件

标签 oracle file export database procedure

我想以编程方式将我的过程/函数和包导出到单独的文件(作为备份)并使用 Oracle 9.2。

我找到的最接近的解决方案是使用 DBMS_METADATA.GET_DDL,但是我如何将 CLOB 输出到文本文件,而不丢失任何部分(由于长度或缩进)?

或者您是否有其他解决方案来单独备份包或其他功能(只有我想要的一个,而不是全部)?

谢谢

最佳答案

尝试从 SQL*Plus 等命令行实用程序获取 CLOBS(和 LONGS)似乎总是给我带来格式化/截断问题。我的解决方案是用非类型检查语言 (Perl) 编写一个简单的实用程序,它使用 DBMS_METADATA 将 CLOB 恢复为字符串。

片段:

...

$sthRef = $dbhRef->prepare("select dbms_metadata.get_ddl(?,?) from dual");

$sthRef->execute('PACKAGE', $thisName);

while (($thisDDL) = $sthRef->fetchrow()) {

  print $thisDDL;

}

$sthRef->finish;

...

关于ORACLE - 将程序/包导出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/710290/

相关文章:

linux - 如何使用 Oracle ODBC 网关通过 ODBC 将 Oracle 连接到 PostgreSQL?

sql - 如何更新满足给定条件的许多行中除一行之外的所有行?

mysql - 将 Oracle SQL 重写为 MYsql

perl - 在 Perl 中,如何在文件中更改、删除或插入一行,或追加到文件的开头?

java - 对大文本进行子串的更好方法是什么?

macos - 导出Mac OSX的Processing.org应用程序时,音频文件放在哪里?

Java/C# 程序访问 Oracle 数据库,字符串中的字符错误

node.js - 在内存中创建 HTML 或 PDF "file"并在 Node.js 中对其进行流式传输

xml - Xcode 中的核心数据导出和邮件

C# MEF : Exporting multiple objects of one type, 和导入特定的