我正在尝试通过shell脚本从oracle SQLPLUS生成csv文件,我正在多次重复标题,并且行的末尾也会出现空值,
echo "****************************************************************"
echo "Started may at : " $(date +"%r")
sqlplus -s ETLUSER/ETL@//10.135.23.232:1521/ODS<<EOF >/dev/null
SPOOL wfa_may.csv
SELECT MAC_ADDRESS ||','||
CRM_BP_ID || ',' ||
EVENT_TIMESTAMP || ',' ||
ACCT_INPUT_OCTETS || ',' ||
ACCT_OUTPUT_OCTETS || ',' ||
ACCT_INPUT_PACKETS || ',' ||
ACCT_OUTPUT_PACKETS || ',' ||
ACCT_SESSION_TIME || ',' ||
NAS_IDENTIFIER || ',' ||
EXTRACTION_DATE || ',' ||
RECORD_DATE || ',' ||
LAST_MODIFIED_DATE || ',' ||
ETL_BATCH_ID || ',' ||
ETL_PROCESS_ID || ',' ||
RECORD_LOAD_TIMESTAMP FROM DBAS.S_WFA_ACCOUNTING_MSG where to_char(EVENT_TIMESTAMP,'MON') = 'MAY';
exit
EOF
echo "Ended may at : " $(date +"%r")
echo "****************************************************************"
来自NAS_IDENTIFIER的我无法找到文件中显示的任何值。
任何人都可以帮我解决错误吗?
答案 0 :(得分:0)
我多次重复标题
设置必需linesize
应该有效。无论如何,看看这个:
更新:展示我的建议
SET COLSEP ,
SET PAGESIZE 0
SET LINESIZE 1000
SET trimspool ON
SPOOL "D:\EMP_DATA.csv"
Select *
From Scott.EMP
/
SPOOL OFF
假脱机的csv文件如下所示:
答案 1 :(得分:0)
在脚本中使用set head off
或set pages 0
。