Ste*_*hen 8 oracle whitespace sqlplus
我在Linux上运行Oracle 11g,我正在尝试运行一个脚本来创建我的数据库.这个脚本在Windows上运行正常,但是当我在Linux上测试它时,我收到以下错误:
SP2-0556: Invalid File Name
Run Code Online (Sandbox Code Playgroud)
问题可能是文件名的路径中有空格.我将把问题简化为我在文件中运行的众多命令之一,以简化操作.我试图运行的示例命令如下所示:
sqlplus [uname]/[pw] @'../database/My Schema/create_sequence.sql'
Run Code Online (Sandbox Code Playgroud)
create_sequence.sql文件有两个简单的创建序列命令,它们可以自行运行.我强烈怀疑这是由于空白,因为当我将目录名从My Schema更改为MySchema并相应地更改上面的sqlplus命令时,脚本运行正常.
就像我说的,这个脚本在带有空格的窗口中工作,但不适用于Linux.我怀疑空间可能不受支持,但我想知道是否有人知道有什么不同或者它有解决方法吗?
旁注:运行如下命令:
more ../database/My\ Schema/create_sequence.sql
Run Code Online (Sandbox Code Playgroud)
要么
more "../database/My Schema/create_sequence.sql"
Run Code Online (Sandbox Code Playgroud)
如您所料,将文件的内容打印到控制台.所以,我认为这是sqlplus(和linux)具体的.
我连接到我的一个Linux盒子,很容易重现这个问题.似乎没有任何方法可以找到从命令行使用'@'选项执行文件,所以我认为你留下了以下选项来解决:
您还应该向Oracle提供报告,因为可能会提供一个简单的修复程序.
示例命令:
来自目录
cd ../database/My\ Schema
sqlplus [uname]/[pw] @create_sequence.sql
Run Code Online (Sandbox Code Playgroud)
通过stdin
sqlplus [uname]/[pw] < ../database/My\ Schema/create_sequence.sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21287 次 |
| 最近记录: |