在sqlplus假脱机文件中使用美元符号

时间:2015-09-28 09:12:57

标签: oracle unix sqlplus

如何在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中,它运行正常。

1 个答案:

答案 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。

相关问题