如何在unix中使用带有美元符号的文件名(即'$'),如下所示
SQL> spool DIR$work.sql
SP2-0332: Cannot create spool file.
我尝试如下
SQL> spool DIR\$work.sql
SP2-0332: Cannot create spool file.
SQL> spool 'DIR\$work.sql'
SP2-0332: Cannot create spool file.
SQL> spool 'DIR$work.sql'
SP2-0332: Cannot create spool file.
我无法以任何方式在oracle中创建此类文件。 我有oracle 11g版本。
在windows sqlplus中,它运行正常。
答案 0 :(得分:3)
您可以使用set escchar
设置停止Oracle解释美元符号:
SQL> show escchar
escchar OFF
SQL> spool /tmp/$work.sql
SP2-0332: Cannot create spool file.
SQL> set escchar $
SQL> spool /tmp/$work.sql
SQL>
您现在正在假脱机到该文件名。
SQL> select * from dual;
D
-
X
1 row selected.
SQL> spool off
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
...
$ cat /tmp/\$work.sql
SQL> select * from dual;
D
-
X
1 row selected.
SQL> spool off
有关详细信息,另请参阅My Oracle Support文档761384.1。