【问题标题】:SQLPLUS query output to *.csv format using java使用 java 将 SQLPLUS 查询输出为 *.csv 格式
【发布时间】:2020-04-28 03:26:43
【问题描述】:

我正在尝试使用 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 OFF
SPOOL D:\CVS_test.csv
select regexp_substr (col_code, '[^,]+', 1,1) as "col_code_1" || ',' || regexp_substr (col_code, '[^,]+', 1,2) as "col_code_2" || ',' || col_status   
from temp_table left join TEMP_MSTR on temp_table.temp_org=TEMP_MSTR.mstr_org and temp_table.temp_acct = TEMP_MSTR.mstr_acct;
SPOOL OFF
EXIT

【问题讨论】:

  • 这些命令在 SQLPlus 中工作,您不能通过 JDBC/Java 使用它们
  • 执行SELECT 语句并将结果写入文件。是什么阻止你这样做?执行 SQL?写入文件?只需进行少量研究,您就可以在网络上找到这两种方法的示例。问题因缺乏研究而被否决。
  • @Andreas 我在使用 regexp_substr (col_code, '[^,]+', 1,1) 作为 "col_code_1" 并且没有 regexp_substr() 我的代码工作正常时遇到了这个问题。跨度>
  • 在将任何代码转换为另一种语言之前,您应该确保原始代码确实可以工作,否则转换后的代码也不会工作。您是否要求我们帮助使 SQLPLUS 查询正常工作?还是您要求我们帮助转换为 Java? 提示:每个问题一个问题,所以你不能在一个问题中同时问我们两个。 --- 哦,你很困惑,因为没有regexp_substr,该代码仍然无法工作。使用regexp_substr不是问题。

标签: java oracle


【解决方案1】:

删除别名代码后工作正常

select regexp_substr (col_code, '[^,]+', 1,1)|| ',' || regexp_substr (col_code, '[^,]+', 1,2) || ',' || col_status from temp_table left join TEMP_MSTR on temp_table.temp_org=TEMP_MSTR.mstr_org and temp_table.temp_acct = TEMP_MSTR.mstr_acct;

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 2011-06-17
    • 1970-01-01
    • 2020-03-05
    • 2018-05-03
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    相关资源
    最近更新 更多