我想返回sqlplus输出作为tsv。为此,我使用set markup csv。但它不接受制表符作为分隔符,不接受\t,也不接受实际选项卡。
错误是
SP2-1660: Invalid option. Only a single character be specified.
任何一种:
sqlplus -M "CSV on delimiter '\t' QUOTE OFF" -s user/pass@host
sqlplus -M "CSV on delimiter ' ' QUOTE OFF" -s user/pass@
下面的代码在批处理文件脚本(.bat文件)中,它调用sql文件。
del C:\SREE\csvfile.csv
sqlplus SERVERNAME/Test123@ldptstb @C:\SREE\sree.sql
set from_email="SENDER_EMAIL_ID"
set to_email="TO_EMAIL_ID"
set cc_email="CC_EMAIL_ID"
set email_message="Csv file from application server
我有一个连接(通过||手动连接)一些列的查询,其中一列是XMLTYPE字段(在其上调用getClobVal() )。如果我使用sqlplus并设置了以下选项来假脱机查询输出:
set long 30000;
set pagesize 0;
set feedback off;
我获得了所需的所有内容,但cr/lf的内容在80个字符之后,第一行的内容在60个字符后停止,其中20个字符为空格,其余行的内容在40个字符后停止,其中40个字符为空格。
如果我添加:
set linesize 120;
我在实际内容之后添加了空格,得到了相同的结果(第一行有60个字符的空格,每行剩下的行有80个空格)
是否
我希望我的脚本停止在输出文件中打印SQL查询。
我尝试过不同的方法,但这是不可能的。
sqlplus user/password@(TNS Entry) << EOF
SET head OFF;
SET feed OFF;
SET trimspool ON;
SET linesize 32767;
SET pagesize 32767;
SET echo OFF;
SET termout OFF;
SET verify OFF;
SET NEWPAGE NONE;
SET verify off;
@test.txt
spool file_name.csv
select * from
我正在尝试使用java代码将SQLPLUS查询输出转换为*.csv格式。在sqlplus上执行这个spooler.sql得到错误作为ERROR at line 1: ORA-00923: FROM keyword not found where expected可以有人帮助我解决这个问题...知道错误在spooler.sql文件中的事实。提前感谢!以下是我的spooler.sql文件代码 SET LINESIZE 30000
SET FEEDBACK OFF
SET SHOW OFF
SET TRIMSPOOL ON
SET HEADING OFF
SET FEED OFF
SET ECHO
我面临一个接口脚本的问题,该脚本应该将ORACLE数据库的某个表的内容导出到CSV文件中,然后将这些CSV导入MYSQL数据库。
STEP1: SQLPlus向CSV出口
set headsep off
set heading off
set term off
set echo off
SET RECSEPCHAR \n
set pagesize 0
set linesize 0
trimspool on
SET FEEDBACK OFF
spool as_ex_feature.csv
select '"AS'||'"|"'||fe
我使用下面的脚本创建带有oracle查询输出的文本文件。当我手动尝试这个脚本时,它工作得很好。但是,当我将它放置到crontab时,它将永远无法获得连接。是否有通过自动化访问sqlplus的限制?
rm /export/home/oracle/out.csv
INC=0
while : ; do
INC=$(($INC+1))
if [[ "$INC" -eq 10 ]]; then
echo "Exit after multiple failed attempt to connect to the DB."
break
fi
嘿,朋友们,我正在使用Oracle 11G。我想生成要打印的报告,所以我编写了这个脚本
rem Employee Salary Report
set headsep !
ttitle 'Salary Report'
btitle 'From Employees'
column employee_id format 999.99
column first_name format a20
column last_name format a20
column Salary format 999.99
break on employee_id skip 1 on
如何用unix中SQL查询的输出填充Csv文件
我所做的就是
#! /bin/ksh
echo ",A,B,C\n D\n E">abc.csv
sqlplus -s scott/tiger@host<< EOF >> abc.csv
SET COLSEP ","
SET HEADING OFF
select count(a1) from tab1 where condition group by clause;
select count(b1) from tab1 where condition group
我将查询结果保存在csv文件中,但是当数据库中的原始数据不包含时,不需要的空格会添加到某些字段中。
例如,如果DB中的一个行的值为"how“、"are”和"you",那么在假脱机后我在文件中得到的是一行,如下所示:
“你好吗?”
(编辑器不让我写更多的空格,但你可以想象有很多这样的空间)
当我只希望它是:
“你好吗?”
我尝试了几个设置选项,但没有结果。有办法避开这些空间吗?提前感谢!
到目前为止我得到的是:
SET ECHO OFF;
SET NEWP 0 SPACE 0 PAGES 0 FEED OFF HEAD OFF TRIMS OFF
我在外壳脚本中使用sqlplus连接到DB并假脱机.csv文件。 代码是:- sqlplus -s user/pass@db <<EOF> /dev/null 2>&1
SET COLSEP ','
SET FEEDBACK OFF
SET TRIMSPOOL ON
SET UNDERLINE OFF
SET LINESIZE 10000
SET PAGESIZE 10000
spool customer.csv
select * from customer where cust_name='john';
spool of
我使用我的假脱机sql脚本中下面列出的sql语句,并且我从sqlplus执行这个脚本。但是在终端查询中,输出还在继续,我在命令提示符中使用sqlplus。但是当我尝试直接启动sqlplus.exe并使用这个脚本时,我并没有在终端中获得查询输出。
当我从命令提示符启动sqlplus时,有人能帮助我如何停止终端输出吗?
SET ECHO OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SET LINESIZE 83
SET TRIMSPOOL ON
SET WRAP ON
SET RECSEP OFF
SPOOL '&1
当我传入假脱机文件的名称时,会得到一个不正确的文件名。例如,我双击command.bat并在提示符下输入'TEST‘(没有引号)并点击enter。脚本正确地运行和查询数据库,但是我的输出文件是'TESTcsv.LST‘(同样没有引号)。如果我将文件名更改为正确的“TEST.csv”,则可以看到输出是正确的。
command.bat:
@echo off
SET /P name="Enter name: "
sqlplus username/password @script.sql %name%
script.sql:
--A whole bunch of for
我正在尝试运行一个sql查询,它的输出以前是用sqlplus格式化的,但现在我正试图用Postgres格式化它,我不知道该怎么做。下面是它以前在sql plus中的格式,但我已经注释掉了格式化语句
/** Contains sql script used to generate the Earth orientation data verification report**/
/*set pagesize 66
set linesize 75
ttitle center EarthOrientation Parameters(U)
2
我有一个从命令行执行的sql文件,它工作得很好。
sqlplus username/password@DBInstance @filename.sql
我的filename.sql看上去是这样的:
set colsep ';'
set echo off
set feedback off
set sqlprompt ''
set trimspool on
set headsep off
set termout off
--set define off
set serveroutput on
set verify off
set autoprint off
set
我需要使用SQL将Oracle db值拉到csv,以比较小数点为10位的数字值。
但是这些数字会自动四舍五入到小数点8。我们是否可以在SQLPlus中禁用数字舍入。下面找出细节。
这是我的SQL Set命令。
SET UNDERLINE OFF
SET PAGESIZE 50000
SET NEWPAGE NONE
SET WRAP OFF
SET COLSEP , -- SEPARATE COLUMNS WITH A COMMA
SET FEEDBACK OFF
SET TRIMS ON
SET TRIMSPOOL ON
SET DEFINE ON
SET termout