我正在运行一个shell scipt,它连接到oracle并运行select查询并以上面的格式显示数据(附带截图)。我使用spool命令将此数据重定向到文件。如何在我的文件中以表格格式存储数据,例如带有标题的excel。
我尝试过以下选项,但效果不正常
set feedback off
set pages 0
set verify off
set pagesize 0 embedded on
SET COLSEP ","
SET LINESIZE 200
SET UNDERLINE =
set markup on
set termout off
BREAK ON ROW SKIP PAGE
答案 0 :(得分:1)
我通常将其假脱机到一个.TXT
扩展名的文件中。在MS Excel中,打开该文件时,文本导入向导会打开并询问如何执行此操作(哪一行是第一行,我使用的是哪个分隔符,......)并且所有内容都适合自己的列
如果将其保存为.CSV
,Excel将打开它,但将所有内容放入列#34; A" (这是你不想要的)。
这是我的SET:
set termout off
set trimspool on
set echo off
set verify off
set autoprint off
set serveroutput off
set arraysize 1000
set pagesize 0
set linesize 100
set long 10000
set numwidth 10
set feedback off
set colsep ';'
答案 1 :(得分:1)
如果您使用的是版本12.2,请执行
"compile 'org.sumitdemo:WebViewOverlayVCX:1.0.2'"
答案 2 :(得分:0)
你可以抓住SQLcl,这将运行所有正常的sqlplus东西,但已经添加了更多。
以下是您正在寻找的快速示例。
sql klrice/klrice
SQLcl: Release 18.1 Production on Wed Feb 07 17:28:32 2018
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Last Successful login time: Wed Feb 07 2018 17:28:56 -05:00
Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL> set feed off
SQL> set sqlformat csv
SQL> spool users.csv
SQL> select * from user_objects;
...rows.....
SQL> spool off