oracle 的目录是空的,oracle sqlplus在@命令路径中有空格的问题

我在

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)具体的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用SQLPLUS调试Oracle存储过程,具体步骤如下: 1. 连接到Oracle数据库 首先,需要使用SQLPLUS连接到Oracle数据库,例如: ``` sqlplus username/password@database ``` 其中,username为数据库用户名,password为密码,database为数据库名。 2. 设置调试模式 接下来,需要设置存储过程的调试模式,可以使用以下命令: ``` SET SERVEROUTPUT ON SET SERVEROUTPUT ON SIZE UNLIMITED SET SERVEROUTPUT ON FORMAT WRAPPED ``` 这些命令将启用服务器输出,并设置输出格式。SIZE UNLIMITED选项将确保输出不受限制。 3. 编译存储过程 在调试存储过程之前,需要先编译存储过程。可以使用以下命令编译存储过程: ``` ALTER PROCEDURE procedure_name COMPILE; ``` 其中,procedure_name为存储过程的名称。 4. 设置断点 可以在存储过程中设置断点,以便在执行存储过程时暂停程序执行。可以使用以下命令设置断点: ``` ALTER PROCEDURE procedure_name COMPILE DEBUG; ``` 这将在存储过程编译时启用调试模式,并在存储过程中设置断点。 5. 执行存储过程 可以使用以下命令执行存储过程: ``` EXECUTE procedure_name; ``` 在执行存储过程时,程序将在设置的断点处暂停执行,可以使用SQLPLUS的调试命令来查看变量的值,以帮助调试存储过程。 6. 关闭调试模式 完成调试后,可以使用以下命令关闭调试模式: ``` ALTER PROCEDURE procedure_name COMPILE; ``` 这将关闭调试模式并重新编译存储过程。 以上就是在SQLPLUS中调试Oracle存储过程的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值