2

如何使用 PL/SQL 进行 Exp 和 Imp?

4

3 回答 3

4

这可以通过几种方式完成。

首先,如果您使用的是 10g 或更高版本,则可以考虑使用数据泵(expdp 和 impdp),而不是 imp 和 exp。这些是这些工具的更新和更强大的版本。

至于如何从 PL/SQL 中调用它们,您可以通过以下方式进行:

  • 您可以对 DLL(或共享库,如果您在 UNIX 上)进行外部过程调用
  • 您可以编写一个简单的 Java 类(在 Oracle JVM 中运行),它会使用 Java 调用
  • 您可以使用高级队列或 DBMS_PIPE 与外部应用程序进行通信
  • 您可以使用 UTL_TCP 通过网络进行交互(例如 SOAP)
  • 在 10g 中,您可以使用 DBMS_SCHEDULER 包来调用操作系统命令

第一个和最后一个选项应该在 Oracle 在线文档中详细记录 - 其他两个选项需要更多的协调和编码。

于 2008-12-29T03:59:56.757 回答
4

如果您使用 impdp/expdp - Datapump (10g or later) - ,您可以简单地使用 DBMS_DATAPUMP:

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_datpmp.htm

于 2009-01-23T05:22:03.070 回答
1

您可以在Oracle Database Utilities一书中的使用数据泵 API的示例中看到一个关于您所要求的示例。

于 2009-07-06T15:17:23.387 回答