Mar*_*ong 2 sql oracle sqlplus
使用SQL工具,我想创建一个具有VARCHAR记录的文本文件.
使用SQL Developer我通过调用脚本成功创建了输出文本文件.但根据我的研究,SQL Developer目前不支持TRIMSPOOl命令,使我的输出具有尾随空格.
这是脚本中的代码:
spool on
set echo off
set verify off
set feedback off
set heading off
set trimspool on
set termout off
spool C:\SQLFiles\Output.txt;
select cust_name || cust_addr as Cust_Details
from customer_db;
spool off;
我现在有SQL Plus 11g,我正在尝试运行我在SQL Developer中创建的脚本.我收到SP2-0606错误,说:
SP2-0606: Cannot create SPOOL file "on.LST:
基于我做的研究,这是因为Spool命令,我没有权限访问默认文件夹??
您能否帮助我做一些我应该改变的设置,以便在SQL Plus中获得所需的结果.
你必须把文件名放在双引号中 - 我猜SQLPlus使用C风格的转义序列,给反斜杠\一个特殊的含义.另外,你应该删除分号';':
所以,如果你更换
spool C:\SQLFiles\Output.txt;
Run Code Online (Sandbox Code Playgroud)
同
spool "C:\SQLFiles\Output.txt"
Run Code Online (Sandbox Code Playgroud)
它应该按预期工作(如果C:\ SQLFiles存在并且可以为您的帐户写入).
UPDATE
正如@LalitKumarB指出的那样,假脱机工作完全没有双引号.真正的问题在于其他地方:
spool on
Run Code Online (Sandbox Code Playgroud)
这告诉SQLPlus on在当前目录中创建一个输出文件.因此,如果您无法访问从中启动SQLPlus的目录,则会收到此错误消息.