在远程 windows 主机上通过 SQLcl 启动 oracle .sql 脚本

start oracle .sql script through SQLcl on a remote windows host

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

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

现在我需要在另一台 windows 机器上实现相同的功能,其中 Oracle 的唯一功能是 SQLcl 客户端。我能够调用 initial_script.sql SQL 脚本,但到目前为止只能通过三个步骤进行交互:

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. 要连接到远程数据库,我必须首先在 powershell 命令提示符下通过 PS> sql /nolog 命令获得 SQLcl 的 SQL> 提示,然后 运行 在 SQL> 提示符下执行 SQL> connect id_maint/password@111.22.33.44:1521/sid 命令。
  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>提示。

如果有人能帮助我,我将不胜感激。

SQLcl 与 SQLPlus 99% 兼容,因此对于几乎所有 sqlplus 命令,您应该能够只使用 sql.

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

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