【问题标题】:start oracle .sql script through SQLcl on a remote windows host在远程 Windows 主机上通过 SQLcl 启动 oracle .sql 脚本
【发布时间】:2021-08-03 03:29:32
【问题描述】:

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

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> 提示符处的电源脚本启动。

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

【问题讨论】:

  • 为什么将脚本的启动分成 3 行?为什么不直接使用sql id_maint/password@111.22.33.44:1521/sid @C:\sql_scripts\initial_script.sql?与您的第一个命令相同的方式只是 sql 而不是 sqlplus。
  • 太棒了!有用!这正是我一直在寻找的!我不知道,因为 SQLcl 对我来说是新的。非常感谢!
  • 太棒了!我会将其放入答案中,以便您将问题标记为已回答。

标签: oracle sqlcl


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 2012-01-12
    相关资源
    最近更新 更多