使用-UTL_FILE.put_line写入时CSV文件中的字段丢失

时间:2019-10-23 09:38:22

标签: database oracle stored-procedures plsql runtime

在通过PL / SQL过程从oracle数据库生成一些报告时,我们面临一个问题。 问题是生成的CSV文件中的某些字段变为空白。

我们正在使用select语句根据过滤条件从表中获取行。 然后将结果中每一行的列追加到变量中。 v_invx_data_recordx VARCHAR2(15000):='';

收集的v_invx_data_recordx稍后循环播放,并写入以下文件- UTL_FILE.put_line (file_id, v_string_content);

代码中没有抛出异常,正在生成CSV文件,但是中间缺少一些字段。我们单独运行查询,可以看到选择查询中的所有字段均可用。在运行时如何丢失这些字段的任何输入? oracle中的空间问题会导致这种行为吗?

下面是相关代码段


v_inv_xdata_recordx := v_invx_data_recordx
              || '"' || tab_invx_data_tabx (i).bdx_airport_codex
              || '"' || con_comma;
         v_inv_xdata_recordx := v_invx_data_recordx
              || '"' || tab_invx_data_tabx (i).offx_airport_codex
              || '"' || con_comma;

p_tab_invx (i_line_count).file_contentx := v_invx_data_record;x

n_recx_countx := p_tab_invx.COUNT;

FOR i IN 1 .. n_recx_countx
  LOOP
     v_string_contentx := p_tab_inv (i).file_contentx;
     UTL_FILE.put_line (file_id, v_string_contentx);
  END LOOP;

UTL_FILE.put_line (file_id, v_string_contentx);```

0 个答案:

没有答案