【发布时间】:2020-06-18 13:11:20
【问题描述】:
我正在尝试使用 Powershell 脚本启动带有 SQL*Plus 的 .sql。由于某种原因,当我在命令行中使用第二个参数时,脚本不会生成输出。当我只使用一个时它确实有效。谁能告诉我我做错了什么?
im用来启动sqlplus的Powershell行如下:
Run-LocalProcess SQLPLUS "${USER/PASS} @${SQLPATH}\something.sql ${1STPARAMETER} ${2NDPARAMETER}"
LocalProcess 是我们用来在 CLI 中启动进程的函数。第一个参数是假脱机输出的文件路径,末尾没有 \。第二个参数是我们试图添加到假脱机输出文件名的数字。
我们使用的.sql如下:
set heading off
set pause off
set verify off
set termout off
set trimspool on
set feedback off
set linesize 500
set pagesize 0
set escape ^
column sys_date heading "SystemDate" new_value sys_date format a20;
select to_char(sysdate,'YYYYMMDDHH24MISS') sys_date
from dual;
column db_name heading "DatabaseName" new_value db_name format a12;
select d.name db_name
from v$database d;
spool &1\&2something_&db_name._&sys_date..txt
SOMETHING
spool off
我将转义设置为 ^ 的原因是 SQLPLUS 的标准转义是反斜杠。
【问题讨论】:
标签: oracle powershell oracle-sqldeveloper sqlplus