Oracle 在sqlplus文件中隐藏SQL单词

Oracle 在sqlplus文件中隐藏SQL单词,oracle,sqlplus,Oracle,Sqlplus,我想隐藏/删除文件raw.txt中的“SSQL>SQL>SQL>2 3 4 5 6 7” 我的脚步 sqlplus -s /nolog <<EOF set heading off set pagesize 0 set feedback off set echo off set colsep "|" select v_tls_equipment_logon_ct2.equipment_id,v_tls_equipment_lo

我想隐藏/删除文件raw.txt中的“SSQL>SQL>SQL>2 3 4 5 6 7”

我的脚步

sqlplus -s /nolog <<EOF
    set heading off
    set pagesize 0
    set feedback off
    set echo off
    set colsep "|"

    select 
    v_tls_equipment_logon_ct2.equipment_id,v_tls_equipment_logon_ct2.user_type_c,v_tls_equipment_logon_ct2.logon_dt,
    tls_user.user_m,tls_user.user_id,tls_user.emp_n,tls_user.org_c 
    from 
    v_tls_equipment_logon_ct2
    INNER JOIN tls_user
    ON v_tls_equipment_logon_ct2.user_id = tls_user.user_id;

要抑制SQL提示,您应该对sqlplus可执行文件使用
-silent
选项。它可以缩写为
-s

sqlplus
(或者在您的情况下是
sqlplus10g
)命令的一部分:

禁止显示所有SQL*Plus信息和提示消息,包括命令提示、命令回显以及启动SQL*Plus时通常显示的横幅。如果省略用户名或密码,SQL*Plus会提示输入用户名或密码,但提示不可见!使用
SILENT
在另一个程序中调用SQL*Plus,这样用户就看不到SQL*Plus的使用

该标志需要位于调用程序的shell脚本中,而不是SQL脚本文件中:

#Execute SQL file
${DBpath} -s < /archive/equipment/EI/Jovan/dataMinerUserLogon/logonuser.sql > ${interFile} 
您当前的代码意味着SQL脚本的前两行是您要连接的用户名和密码:

your_username
your_password
set heading off
set pagesize 0
set feedback off
...
如果还添加了
/nolog
选项:

#Execute SQL file
${DBpath} -s /nolog < /archive/equipment/EI/Jovan/dataMinerUserLogon/logonuser.sql > ${interFile} 

当然,在文件中嵌入凭据显然不是很安全。

在您的代码中,我没有看到向.txt文件发送任何内容。请向我们展示您的所有代码,否则我们无法正确地帮助您。@mathguy是的,抱歉我添加了您可能想看看这个。虽然已经有几年了,但我相信一切都没有改变。我总是很难记住哪个SQLPlus设置控制哪个输出。我想您可能需要在脚本中添加
set term off
。(一般情况下,在向文件发送输出时,您可能还希望使用
设置verify off
,但我认为这与本例无关。)我应该将其放在哪里?在SQL*Plus命令行上。-我认为变化不大。祝你好运。所以我只做了一个“sqlplus-s/nolog@KaushikNayak那么我应该把它放在哪里?@BinQuan-它不在你的.sql脚本文件中;它在你的shell脚本中,所以
${DBpath}-s
。(假定该文件的前两行是您的凭据;如果添加
/nolog
,则这些将更改为显式
connect
命令。)
> sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 20 10:13:45 2018

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect hr/hr
Connected.
SQL>
your_username
your_password
set heading off
set pagesize 0
set feedback off
...
#Execute SQL file
${DBpath} -s /nolog < /archive/equipment/EI/Jovan/dataMinerUserLogon/logonuser.sql > ${interFile} 
connect your_username/your_password
set heading off
set pagesize 0
set feedback off
...