0

在 Oracle 数据库服务器上,我已经能够安排一个夜间作业,该作业运行从具有以下行的 powershell 脚本启动的 oracle 脚本:

sqlplus accountID/password @C:\scripts\run_scripts.sql

现在我需要在另一台 Windows 机器上实现相同的功能,其中 Oracle 唯一的东西是 SQLcl 客户端。我可以调用initial_script.sqlSQL 脚本,但到目前为止只能通过三个步骤以交互方式调用:

PS C:\sql_scripts> sql /nolog
SQL> connect id_maint/password@111.22.33.44:1521/sid
Connected.
SQL> @initial_script.sql

我需要的是从 powershell 启动 oracle initial_script.sql 脚本。我有两个障碍。

  1. 要连接到远程数据库,我必须先通过PS> sql /nologpowershell命令提示符下的命令获取SQLcl的SQL>提示符,然后SQL> connect id_maint/password@111.22.33.44:1521/sid在SQL>提示符下运行该命令。
  2. SQL> connect id_maint/password@111.22.33.44:1521/sid工作正常。但是我需要同时调用oracle脚本initial_script.sql。然而,
SQL> connect id_maint/password@111.22.33.44:1521/sid @C:\sql_scripts\initial_script.sql

引发错误。

所以我正在寻求完成三件事(获取 SQL> 提示符 -> 连接到远程数据库 -> 调用 oracle 脚本),所有这些都由 PS> 提示符处的电源脚本启动。

如果有人可以帮助我,非常感谢。

4

1 回答 1

1

SQLcl 与 SQLPlus 有 99% 的兼容性,因此对于几乎任何sqlplus命令,您都应该能够使用sql.

使用现有sqlplus命令启动脚本,但sql改为使用

sql id_maint/password@111.22.33.44:1521/sid @C:\sql_scripts\initial_script.sql

于 2021-08-03T14:36:08.113 回答