我正在远程访问 Oracle 数据库,并且需要将结果重定向到本地 csv 文件。我设置了一些选项、一个简单的 sql 查询语句,最后重定向到本地文件。 基于此link和 this我这样做了:
./sqlplus user/password@host:1521/SID <<< "SET PAGESIZE 40000 FEEDBACK OFF MARKUP HTML ON select * from mytable where ROWNUM <= 10" >> test_file.xls
这样做时,我收到此 Oracle 错误:SP2-0158:未知的 SET 选项“选择”。该错误是不言自明的。我知道我需要这些 set 语句来格式化我的输出。删除 SET 语句工作正常,但输出。
为了输出,我不插入 SPOOL 语句,因为该文件将在远程计算机上生成。
我需要做什么才能将结果存入本地文件?
最佳答案
尝试一下:
./sqlplus user/password@host:1521/SID <<EOF >> test_file.xls
SET PAGESIZE 40000 FEEDBACK OFF MARKUP HTML ON
select * from mytable where ROWNUM <= 10;
exit
EOF
关于sqlplus客户端将远程结果重定向到本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44707594/