2

我想通过 PL/SQL 脚本将 Oracle 表中的数据导出到 *.dbf 文件(如 excel)中。有可用的代码吗?

4

2 回答 2

1

有许多不同的方法可以做到这一点。最简单的方法是使用提供此功能的 IDE,例如 SQL Developer 或 TOAD。

如果你想从 PL/SQL 中调用它,那么就没有内置的 Oracle 函数。但是,使用 UTL_FILE 构建可以写出值分隔记录的东西相对简单。这些可以在 Excel 中获取。

请注意,,如果您导出的数据包含逗号,则默认分隔符(逗号是 .CSV 中的“C”)会导致问题。因此,您将需要使用数据导入向导而不是右键单击打开方式...

.dbf顺便说一句,使用后缀可能是个坏主意。在 Oracle 文件系统中,假定的含义是数据库文件——即数据库基础结构的一部分。这只是一个惯例,但没有必要让人们感到困惑。首选替代方案包括.csv或。.dmp.exp

编辑

如果您的兴趣只是导出数据以传输到另一个 Oracle 数据库,那么您应该考虑使用 Data Pump 实用程序。它带有一个 API,因此可以从 PL/SQL 中使用。或者,我们通过使用 DataPump 驱动程序声明的外部表来卸载数据。

于 2010-01-24T10:14:42.817 回答
0

您还可以考虑使用 Oracle 的外部表功能。这实质上允许您将 CSV 文件映射到“虚拟”表,然后您可以将其插入其中(因此也可以插入文件。)

Oracle 外部表概念指南

于 2010-01-24T16:52:42.917 回答