我今天试图遵循一些指示,并以评论

开头

REM  In SQLPlus I manually copy in each line and execute it.

这很好,我没有SQLPlus,我有SQLDeveloper。粘贴的行是以下类型:


@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;

...等

当我在SQL窗口中尝试时,它不喜欢它。我手动打开并粘贴在命令中,对此也不满意。 (我是否提到我对这个应用程序也不是很好,也不是Oracle,但其他人今天都出来了吗?)那里的文件以代码开头:


rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');

一位同事确实拥有SQLPlus,我们一起解决了它。但是,有没有办法让我用SQLDeveloper做到这一点,所以如果他也出局我就不会卡住?

有帮助吗?

解决方案

在SQL Developer中运行脚本:

@"\Path\Scriptname.sql"

(如果有空格,您只需要引号)

您可以设置默认路径:工具菜单<!> gt;偏好<!> gt;数据库<!> gt;工作表<!> gt;选择要查找脚本的默认路径

其他提示

我正在查看帮助文件,并在SQL Developer概念和用法中找到了如何做到这一点 - <!> gt;使用SQL工作表 - <!> gt;脚本运行器。

基本上,你必须在文件名之前加上@。例如@C:\ MyScript \ Script.sql。

然后你可以用这种方式运行一批。请注意,该命令似乎不喜欢文件路径中的空格。

对于您需要运行的每个文件,找到它并将其放入SQLDeveloper。运行脚本(F5),然后提交(F11)。这适用于某些脚本,但不是全部。

你可以使用sqlcl以与在命令行中使用SQL PLUS相同的方式来实现它:

sqlcl user/password@host:port:sid @file.sql

文件应该位于sqlcl所在的目录中。

如果您尝试在sql文件上执行大量指令,则此解决方案是最佳选择。

这样就可以了:

begin
    procedure_name ('parameter1', 'parameter2');
end;
/
scroll top