我写了一个plsql脚本。该脚本根据某些标准从多个表中获取数据,并将数据格式化为逗号分隔格式。现在,就行数和行大小而言,获取的数据非常庞大。我想要 csv 文件中的数据。我试过做以下事情:
- 使用带有 DBMS_OUTPUT.PUT_LINE 的假脱机。DBMS_OUTPUT.ENABLE 的限制只有 20000 个字节,所以我的记录出现在假脱机文件的一半。
- 使用 utl_file 我可以在 csv 文件中获取它,但问题是我的数据库驻留在其他机器上(物理上),而我的应用程序驻留在其他机器上。所以当我触发 plsql 脚本时,它会在数据库机器上创建该文件。utl_file 也需要在数据库机器上创建目录对象,这很快就会成为我的安全问题。
无论如何,我可以将 plsql 脚本的输出通过管道传输到位于我的应用程序机器上(而不是我的数据库机器上)的文件中。您还可以建议使用其他一些编程语言的解决方案,例如 java 等。