在 sqlplus 中假脱机到名称包含 space 和脚本参数的文件?
Spooling to a file with a name containing a space and script's parameter in sqlplus?
我正在尝试更改带有参数的脚本以将输出假脱机到特定路径。在搜索 Stack Overflow 之后,我想到了:
column filename new_val filename
select '"i:\Direct bank\incoming\ROSE\report_zgod_' || '^1' ||'.csv"' filename from dual;
spool &filename
这创建了正确的文件名 "i:\Direct bank\incoming\ROSE\report_zgod_2017-08-28.csv"(我试图用字面意思代替 &filename 并且文件已经创建),但它仍然没有写入文件。我的猜测是因为路径中有一个 space。
我也试过了
spool "&filename"
spool '&filename'
但无济于事。
我无法避免参数(它在脚本的其他地方使用,它不能真正从 SYSDATE 计算)并且我无法更改路径(它必须在 "I:\Direct bank" 下的某个地方).
如何在假脱机文件名中同时包含参数和 space?
好的,我在 https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3581757800346555562 的评论中找到了答案。
原脚本的作者更改了默认值,所以我不得不使用
spool ^filename
而不是
spool &filename
如有类似问题,原代码如下:
set define "^"
set sqlprefix "^"
这就是我无法创建文件的原因。
我正在尝试更改带有参数的脚本以将输出假脱机到特定路径。在搜索 Stack Overflow 之后,我想到了:
column filename new_val filename
select '"i:\Direct bank\incoming\ROSE\report_zgod_' || '^1' ||'.csv"' filename from dual;
spool &filename
这创建了正确的文件名 "i:\Direct bank\incoming\ROSE\report_zgod_2017-08-28.csv"(我试图用字面意思代替 &filename 并且文件已经创建),但它仍然没有写入文件。我的猜测是因为路径中有一个 space。
我也试过了
spool "&filename"
spool '&filename'
但无济于事。
我无法避免参数(它在脚本的其他地方使用,它不能真正从 SYSDATE 计算)并且我无法更改路径(它必须在 "I:\Direct bank" 下的某个地方).
如何在假脱机文件名中同时包含参数和 space?
好的,我在 https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3581757800346555562 的评论中找到了答案。
原脚本的作者更改了默认值,所以我不得不使用
spool ^filename
而不是
spool &filename
如有类似问题,原代码如下:
set define "^"
set sqlprefix "^"
这就是我无法创建文件的原因。