当前位置: 首页 > 知识库问答 >
问题:

使用假脱机将clob变量输出到文件

寿子轩
2023-03-14

我在SQL Developer中连接到远程服务器上的Oracle数据库。我有一个PL/SQL脚本,它将数据存储在clob变量中。我希望将此变量的数据输出到本地计算机上的一个文件中。

我遇到了spool,但我想我没有正确使用它。

下面是我的脚本:

set echo off
set serveroutput on FORMAT WRAPPED
set verify off
set feedback off
set termout off

DBMS_OUTPUT.ENABLE(1000000);

SPOOL C:\home\output.txt

declare
    content CLOB;
begin
    -- do something with content
end;

spool off

set termout on
set feedback on

当我运行该脚本时,没有任何内容写入文件C:\home\output.txt。我希望clob变量content中的数据被写入文件。

我该如何进行?

编辑:如果有人知道将clob变量写入文件的更好/另一种方式(除了SPOOL之外),请随意提出建议。

共有1个答案

宿丰
2023-03-14

你试过这样一套吗?

set linesize 32767 
set long 32767 
set longchunksize 32767 
set trimout on 
set trimspool on

spool output.txt

select clob_column
from your_table;

spool off

由于CLOB的长度大于32767,所以它不适合一行。

 类似资料:
  • 问题内容: 好的,所以我对oracle完全满意。现在,这已经不复存在了; 我认为您可以了解我在下面尝试做的事情。对于找到的每个存储过程,将DDL输出到具有其名称的文件名。 问题是我不知道如何获取假脱机目标来拾取由游标设置的FileName的值。 关于我要去哪里错的任何想法吗?如果有人举这个例子,我将不胜感激。 我觉得我必须在周围跳舞,因为如果我最初创建一列, 我得到一个结果,我似乎无法动态地更改&

  • 我正在为我公司的 POC 实施一个小型 hadoop 集群。我正在尝试使用Flume将文件导入HDFS。每个文件都包含如下 JSON 对象(每个文件 1 个“长”行): “objectType”是数组中对象的类型(例如:事件、用户…)。 这些文件稍后将由多个任务根据“对象类型”进行处理。 我正在使用spoolDir源和HDFS接收器。 我的问题是: > 当flume写入HDFS时,是否可以保留源文

  • 在SQLcl中,将spool设置为file会出现错误“SP2-0556:文件名无效”。文件名中没有空格,路径正确(文件夹C:\Temp确实存在)。已经尝试过; 在Win10、OracleXE11上使用SQLcl 17.2.0。从sqlplus假脱机工作正常。如何将SQLcl设置为假脱机文件?

  • 问题内容: 我想在我的ipython Notebook中运行bash脚本,并将输出另存为python变量中的字符串,以进行进一步操作。基本上,我想将bash magic的输出传递给一个变量,例如,类似这样的输出: 问题答案: 怎么使用这个: 而不是魔术?使用该符号将以下命令作为shell命令运行,结果全部存储在中。要运行多个命令并收集所有命令的输出,只需组合一个快速的shell脚本即可。

  • 问题内容: 我在JavaScript中有以下代码: PHP代码:- 注意:我不希望在表单提交中使用它。我在JavaScript中有一些逻辑,我想在同一PHP页面中使用它…请让我知道我该怎么做。 问题答案: 您必须记住,如果JS和PHP位于同一个文档中,则将首先在服务器上执行PHP,然后在浏览器上执行JS,并且两者将永远不会交互(除非您在哪里用PHP输出JS,这实际上不是两个引擎之间的交互)。 考虑

  • 问题内容: 我正在编写一个dockerfile,并希望将“ ls”命令的输出放入一个变量,如下所示: 在此,“ dir”内部只有一个文件。 dockerfile中的以下RUN指令不起作用 问题答案: 您不能保存变量供以后在其他命令中使用(如果您打算这样做)。这是因为每种情况都发生在新的外壳中。 但是,如果只想捕获输出,则应该可以在一个复合命令中完成它。例如: 或者只是使用subshel​​l内联: