Oracle sql结果到DBF文件导出

Oracle sql结果到DBF文件导出,oracle,dbf,Oracle,Dbf,我想通过PL/SQL脚本将数据从Oracle表导出到*.dbf文件(如excel)。有可用的代码吗?有许多不同的方法可以做到这一点。最简单的方法是使用像SQLDeveloper或TOAD这样的IDE,它们提供了这种功能 如果您想从PL/SQL调用它,那么就没有内置的Oracle函数。然而,使用UTL_文件构建一些东西相对简单,UTL_文件可以写出值分隔的记录。这些可以在Excel中获取 请注意,如果导出的数据包含逗号,则默认分隔符-,(逗号是.CSV中的“C”)将导致问题。因此,您需要使用数据导

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

有许多不同的方法可以做到这一点。最简单的方法是使用像SQLDeveloper或TOAD这样的IDE,它们提供了这种功能

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

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

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

编辑


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

>您也可以考虑使用Oracle的外部表特性。这本质上允许您将CSV文件映射到“虚拟”表,并且可以插入其中(因此也可以插入该文件)