标签: spool

如何避免在SQL Server上进行急切的假脱机操作

我有一个ETL过程涉及一个大量使用SELECT INTO语句的存储过程(最少记录,因此生成较少的日志流量,因此更快).在一个特定存储的存储过程中发生的一批工作中,几个最昂贵的操作是急切的线程,它们似乎只是缓冲查询结果,然后将它们复制到正在制作的表中.

热门线轴上的MSDN文档非常稀少.有没有人更深入地了解这些是否真的有必要(以及在什么情况下)?我有一些理论可能有意义,也可能没有意义,但没有成功从查询中消除这些理论.

.sqlplan文件非常大(160kb)所以我想将它们直接发布到论坛可能是不合理的.

所以,这里有一些可能适合特定答案的理论:

  • 该查询使用一些UDF进行数据转换,例如解析格式化日期.这个数据转换是否需要使用热切片在构造它之前为表分配合理类型(例如varchar长度)?
  • 作为上述问题的扩展,是否有人更深入地了解在查询中驱动此操作的内容是什么?

t-sql sql-server eager spool

40
推荐指数
1
解决办法
5万
查看次数

将列标题删除到输出文本文件中

我想从Oracle SQL Developer创建我的查询的平面文件(文本文件).

我已经使用SPOOL通过脚本文本文件成功创建了文本文件,但我想将每列的标题删除到我的输出中.

我得到这个输出:

Header000001 Header000002
------------ ------------
Adetail1     Bdetail1
Adetail2     Bdetail2
Adetail3     Bdetail3

但是,我想得到这个输出:

Adetail1Bdetail1
Adetail2Bdetail2
Adetail3Bdetail3

我已经尝试过命令"set heading off",但是有消息说:

"SQLPLUS COMMAND Skipped: set heading off".
Run Code Online (Sandbox Code Playgroud)

这些是我发出的输入:

spool on; 
spool C:\SQLFiles\PSB_ATMLKP.txt; 
set newpage 0; 
set echo off; 
set feedback off; 
set heading off; 

select terminal_number, terminal_name from terminal_table; 

spool off;
Run Code Online (Sandbox Code Playgroud)

oracle sqlplus spool columnheader oracle-sqldeveloper

28
推荐指数
2
解决办法
7万
查看次数

sqlplus假脱机:如何摆脱第一个空行?

我正在做以下假脱机声明:

SET VERIFY OFF
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL ON
SET TERM OFF
SPOOL &pathRelations
START scripts/relations.sql &parent
SPOOL OFF
SET TERM ON
Run Code Online (Sandbox Code Playgroud)

scripts/relations.sql文件包含一个简单的select语句.

不幸的是,假脱机文件包含一个空行作为文件中的第一行.这条线在我们的框架中引起了麻烦.

当然,我可以摆脱这些路线sed但是有没有办法首先压制它的创造?

sql sqlplus spool fixed-length-file

15
推荐指数
1
解决办法
4万
查看次数

清除Oracle假脱机中的标题

我在运行下面的命令之前假脱机了一个文件并获得了这样的输出,

我已经设置了标题,反馈关闭

SET HEADING OFF SET FEEDBACK OFF SPOOL D:\ TEST.TXT SELECT SYSDATE FROM DUAL; SPOOL OFF

TEST.TXT中的输出:

SQL> SELECT SYSDATE FROM DUAL;

20-JAN-09

SQL> SPOOL OFF

如何删除两个SQL>行.我只想要输出.

提前致谢.

oracle spool

9
推荐指数
1
解决办法
5万
查看次数

如何创建oracle sql脚本假脱机文件

我有一个关于假脱机程序结果的问题.我的示例sql脚本看起来像这样.

  whenever sqlerror exit failure rollback
  set heading off
  set arraysize 1
  set newpage 0
  set pages 0
  set feedback off
  set echo off
  set verify off

 declare
 ab varchar2(10) := 'Raj';
 cd varchar2(10);
 a number := 10;
 c number;
 d number;
 begin
 c := a+10;
 select ab,c into cd,d from dual;
 end;

 SPOOL 
 select cd,d from dual;
 SPOOL OFF
 EXIT;
Run Code Online (Sandbox Code Playgroud)

上面的脚本不起作用,但我想做这样的事情,在开始结束块我们计算一些值,我想假设这些结果.

谢谢.

oracle plsql spool sql-scripts

8
推荐指数
1
解决办法
16万
查看次数

如何在不使用命令的情况下从swiftmailer发送假脱机

如何在不使用命令的情况下从swiftmailer发送假脱机?

php app/console swiftmailer:spool:send --env=prod

我需要以某种方式将其放入php文件中,以便服务器管理员可以将其添加到Schedule.

spool swiftmailer symfony

8
推荐指数
2
解决办法
9384
查看次数

如何定义其他邮件服务以使用假脱机并在Symfony2中发送即时电子邮件

在我的Symfony2网络应用程序中,我应该发送两种电子邮件:即时和批量.应立即发送即时电子邮件,同时应使用假脱机发送批量电子邮件.使用Symfony2中Swiftmailer的默认配置是不可能的,因为只有一个邮件服务.

类似的问题已经在SO(如何假脱机电子邮件(在一个任务中)和在其他控制器中发送正常的电子邮件?)中提出了没有运气,但根据这个github线程(https://github.com/) symfony/SwiftmailerBundle/issues/6)可以创建第二个邮件服务,可以配置完全不同于默认邮件服务.有人(stof)建议作为一种可能的解决方案,遵循SwiftmailerBundle(https://github.com/symfony/SwiftmailerBundle/blob/master/Resources/config/swiftmailer.xml)中的配置来创建这项新服务,但是我不知道究竟是怎么做到的.

有没有人知道如何创建一个额外的邮件服务,我可以将其配置为假脱机,同时使用默认邮件服务发送常规(即时)电子邮件?

dependency-injection spool swiftmailer symfony

7
推荐指数
1
解决办法
2612
查看次数

Coldfusion 9,如何清空"未送达的邮件队列"

我在Coldfusion 9的邮件假脱机中有大约9,000个未传送的消息.据我所知,管理这些消息的唯一方法是通过CF Admin GUI一次操作10个消息.

我正在寻找一种方法来加快这个过程.我想清除队列,或批量发送它们.

有谁知道如何做到这一点?

谢谢,

戴夫

email queue coldfusion spool coldfusion-9

6
推荐指数
1
解决办法
5421
查看次数

在sqlplus中假脱机csv文件时的标题格式

我需要使用sqlplus从Oracle中的表中调整csv.以下是所需的格式:

"HOST_SITE_TX_ID","SITE_ID","SITETX_TX_ID","SITETX_HELP_ID"
"664436565","16","2195301","0"
"664700792","52","1099970","0"
Run Code Online (Sandbox Code Playgroud)

以下是我写的shell脚本的相关部分:

sqlplus -s $sql_user/$sql_password@$sid << eof >> /dev/null
    set feedback off
    set term off
    set linesize 1500
    set pagesize 11000
  --set colsep ,
  --set colsep '","'
    set trimspool on
    set underline off
    set heading on
  --set headsep $
    set newpage none


    spool "$folder$filename$ext"
    select '"'||PCL_CARRIER_NAME||'","'||SITETX_EQUIP_ID||'","'||SITETX_SITE_STAT||'","'||SITETX_CREATE_DATE||'","'||ADVTX_VEH_WT||'"'
    from cvo_admin.MISSING_HOST_SITE_TX_IDS;
    spool off
Run Code Online (Sandbox Code Playgroud)

(我已经使用了一些注释声明来表示我尝试但无法工作的事情)

我收到的输出是:

'"'||PCL_CARRIER_NAME||'","'||SITETX_EQUIP_ID||'","'||SITETX_SITE_STAT||'","'||SITETX_CREATE_DATE||'","'||ADVTX_VEH_WT||'"'
"TRANSPORT INC","113","00000000","25-JAN-13 10.17.51 AM",""
"TRANSPORT INC","1905","00000000","25-JAN-13 05.06.44 PM","0"
Run Code Online (Sandbox Code Playgroud)

这表明标题搞砸了 - 它实际上是打印应该被解释为sql语句的整个字符串,就像显示的数据一样.

我正在考虑的选项:

1)使用colsep

set colsep '","'
spool
select * from TABLE
spool off
Run Code Online (Sandbox Code Playgroud)

这引入了其他问题,因为具有前导和尾随空格的数据,文件中的第一个和最后一个值不用引号括起来 …

oracle sqlplus header spool

6
推荐指数
2
解决办法
4万
查看次数

SQLPlus - 从PL/SQL块假脱机到多个文件

我有一个查询,将大量数据返回到CSV文件中.事实上,Excel无法打开它 - 行数太多了.有没有办法控制spool在每次处理65000行时假脱机到新文件?理想情况下,我想有我在输出顺序命名的文件,如large_data_1.csv,large_data_2.csv,large_data_3.csv,等...

我可以dbms_output在PL/SQL块中使用来控制输出多少行,但是我如何切换文件,因为spool似乎无法从PL/SQL块访问?

(Oracle 10g)

更新:

我无法访问服务器,因此将文件写入服务器可能无法正常工作.

更新2:

一些字段包含自由格式文本,包括换行符,因此在写入文件后计算换行符并不像在返回数据时计算记录一样简单...

oracle plsql sqlplus spool

5
推荐指数
2
解决办法
5万
查看次数