我有一系列想要输出到.csv文件的查询。我必须查询数据库的唯一工具是SQL Developer。当试图从SQL Developer中导出时,SPOOL返回空文件
我可以运行每个查询,然后使用SQL Developer中的Export对话框将它们写入文件,但这很麻烦,特别是当这需要每天为多个文件完成时。
这适用于某些人 Directly export a query to CSV using SQL Developer
但它不为我工作。
例如,如果我尝试
spool "C:\Users\james.foreman\Downloads\Temp\myfile.csv"
select distinct placement_type
FROM jf_placements;
spool off;
然后在SQL Developer的脚本输出窗口,我看到
无法创建假脱机文件C:\ Users \用户james.foreman \下载\ TEMP \ myfile.csv
虽然myfile.csv已创建,但没有结果。 (查询返回了两行)
我的第一个想法是写入C:\ Users \ james.foreman \ Downloads \ Temp的权限问题 但似乎并非如此,因为如果我删除myfile.csv并运行SQL,则会重新创建myfile.csv文件,但它从来没有任何内容。
所以我认为这是一个配置问题,无论是在我正在运行SQL Developer的Windows机器上,还是与我的SQL Developer设置。我应该在哪里寻求进一步调查?
@Devolus对Procedure to export table to multiple csv files的回答包括“在SQL窗口中右键单击 - >将窗口更改为 - >命令窗口”的指令,但是如果我右键单击SQL窗口,我看不到更改窗口选项。
(运行Windows 7,SQL Developer版本4.0.2.15,构建15.21,数据库是Oracle 11.2)
你可以从'SQL * Plus'尝试相同的方法,看看这次文件是否有内容。 – 2014-09-24 05:46:16
嗨,我不能;我在这台机器上只有SQL Developer,而不是SQL * Plus。 – JamesF 2014-09-24 07:57:35
看到我的答案。关于'SQL * Plus',我只是想让你验证一下。没有问题,只需按照答案。 – 2014-09-24 08:27:37