首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将DBMS.OUTPUT.put_line的输出写入指定的公共位置(如桌面)

将DBMS.OUTPUT.put_line的输出写入指定的公共位置(如桌面)
EN

Stack Overflow用户
提问于 2014-08-13 16:09:08
回答 1查看 3.3K关注 0票数 0

我有很多电话,比如:

DBMS_OUTPUT.put_line(v_1||','||v_2);

我只在数据库中读取了priveleges,invision从上面的语句将ouptut写入到以后可能读取的所有计算机上的公共位置(使用VBA)。

我已经找到了Oracle似乎支持的文件包,但是我很难理解如何让它做我想做的事情。

有人能给我提供一个简单的例子,说明我如何使用put_line方法和UTL_FILE包串联地写到一个公共位置,比如计算机的桌面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-13 20:18:33

假脱机是一种SQL*Plus特性,它可以在桌面上执行,而无需调用UTL_FILE数据库包。蟾蜍(利用SQL*Plus功能)也可以做到这一点。

正如Justin所评论的,UTL_FILE是一个Oracle数据库包,用于读写数据库服务器(例如,11g文档file.htm#BABGGEDF)。

SQL*Plus (与Oracle11g数据库01/server.112/e 27507/sqlplus.htm#DFSUG144 144节3.1.7相关联)在这里记录了假脱机。

您可以在蟾蜍中选择“作为脚本运行”,如下所示:

代码语言:javascript
复制
set serveroutput on
spool c:\temp.lst
begin
  dbms_output.put_line('My text');
end;
/
spool off

假脱机是客户端特性( sql *Plus),因此,如果希望在一个过程中调用dbms_output (下面称为my_procedure),我只需创建一个驱动该过程的sql脚本。

可以将其作为sql脚本的内容(例如,test_dbms_output.sql):

代码语言:javascript
复制
SET serveroutput ON
spool c:\temp.lst
BEGIN
  my_procedure(params);
END;
/
spool OFF

然后,您只需使用SQL*Plus run命令(或蟾蜍中的“作为脚本运行”)调用此脚本:

代码语言:javascript
复制
@test_dbms_output.sql;

代码语言:javascript
复制
run test_dbms_output.sql;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25291067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档