我在 Linux 上运行 Oracle 11g,我正在尝试运行一个脚本来创建我的数据库。该脚本在 Windows 上运行良好,但是当我在 Linux 上对其进行测试时,出现以下错误:
SP2-0556: Invalid File Name
问题可能是文件名的路径中有空格。我将把问题简化为我在文件中运行的许多命令之一,以使其简单。我尝试运行的示例命令如下所示:
sqlplus [uname]/[pw] @'../database/My Schema/create_sequence.sql'
create_sequence.sql 文件有两个简单的创建序列命令,它们可以自行运行良好。我强烈怀疑这是由于空白,因为当我将目录名称从 My Schema 更改为 MySchema 并相应地更改上面的 sqlplus 命令时,脚本运行良好。
就像我说的,这个脚本在带有空格的窗口中工作,但在 Linux 中却不行。我怀疑可能不支持空格,但我想知道是否有人知道有什么不同或者有解决方法吗?
旁注:运行如下命令:
more ../database/My\ Schema/create_sequence.sql
或者
more "../database/My Schema/create_sequence.sql"
如您所料,将文件的内容打印到控制台。所以,我认为这是 sqlplus(和 linux)特定的。