sqlplus客户端将远程结果重定向到本地文件

标签 sql oracle terminal sqlplus

我正在远程访问 Oracle 数据库,并且需要将结果重定向到本地 csv 文件。我设置了一些选项、一个简单的 sql 查询语句,最后重定向到本地文件。 基于此linkthis我这样做了:

./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/

相关文章:

php - 使OpenID在现有的MyBB安装上运行

mysql - 优化从同一个表中提取的多列的查询

node.js - 使用sequelize-oracle 没有恢复数据

java - Hibernate - 使用sqlQuery时,面临 "data exception: invalid datetime format"问题

oracle - 如何连接到新安装的Oracle XE实例?

linux - 我可以在 Linux 上用一条命令做多件事吗?

sql - 什么是存储过程,在什么意义上与简单存储过程不同?

c# - LINQ 的复杂 SQL 子查询

macos - 终端:shell启动文件在哪里?

bash - 可以将粘贴命令与命令一起使用,而不与文件一起使用吗?