我正在尝试生成一个数据文件作为表的下载,这可能是固定格式。 我已经准备好了SQL。
示例:
SELECT RPAD(ORGANIZATION_ID,10)||RPAD(ORGANIZATION_NAME,100)||RPAD(EMPLOYEE_COUNT,100)
FROM MY_ORGANIZATION_STATE;
我在SQL Developer中运行它,并导出到Excel。 50个记录的样本。 能够正确获取,格式看起来没问题。
但是我需要自动化它,因此我们使用SQL * Plus的spool命令。 下面是一个片段。
set pagesize 100;
set linesize 10000;
set heading off;
spool orgn_output.dat;
@my_script # this has my SQL inside
spool off;
这样运行没有任何错误。
但是当我试图打开文件时,我可以看到,文件中有多余的空格,布局并不像我预期的那样!
当我手动运行SQL,并使用PUTTY假脱机时,它看起来像文件。为什么我的脚本会生成错误的脚本。我不知道为什么会这样。
非常感谢任何帮助!
编辑:输出:
100 Deva@Company@Sales 469
101 Deva@School 234
102 Deva@Hospitals 245
103 Deva@Company@Finance 469
由于
答案 0 :(得分:2)
实际上,我可以轻松地重新创建您的问题。当列文本较小时会发生这种情况。当我发出确切的文本大小时,布局是大小,我看到假脱机文本内的文本有空格而不是制表符。这种模式也不一致。我刚用可用的命令研究,我找到了。 SET TAB OFF
;在sqlplus中解决了这个问题。
我希望,sqlplus
本身正在将多个空间更改为TAB。设置TAB解决了它。!
请尝试该选项。让我知道祝你好运!
<强> P.S 即可。编辑你的问题,揭示了错误,可能是SO,在格式化时有效地转换了TAB:)
答案 1 :(得分:0)
实际上我对sqlplus有这种问题。在我修复它之后,我建议你尝试使用这种格式的sqlplus。
由于错误,因为它是关于线轴问题。所以我们只是采用trimspool的格式。