SQL job中用BCP大量copy数据

为了监控报表每天是否正常生成,在本项目中使用了SQL JOB, 并用BCP把报表的数据大量copy到csv文件,如果生成文件失败,邮件通知。

报表订阅也可以有此效果,但是一旦报表运行失败后,维护人员得不到通知,导致无人知晓并修复。所以SQL JOB可以有定时执行并且发送邮件通知。

下面是一个小Demo,SQL脚本如下.

DECLARE @CurrentDate varchar(100)
SET @CurrentDate = CONVERT(CHAR(8), GETDATE(), 112)

DECLARE @ConditionDate varchar(100)
SET @ConditionDate = CONVERT(CHAR(20), GETDATE(), 20)

DECLARE @SQL_1 varchar(1000)
SET @SQL_1 = 'EXEC Produre'''+@ConditionDate+''',''-1'''

DECLARE @OutPath varchar(100)
SET @OutPath = 'C:\+ @CurrentDate + '.csv'

DECLARE @Script varchar(1000)
SET @Script = 'BCP "' + @SQL_1+ '" queryout "' + @OutPath + '" -c -U"C3PX" -P"C3PX" -S"IBDC3DEVALIAS"'

EXEC xp_cmdshell @Script

也可以用cmd命令执行。

posted @ 2016-07-01 16:25  云中的angel王  阅读(106)  评论(0编辑  收藏  举报