sql格納プロセスから指定データを.txtファイルにエクスポートする(タイミング)

1789 ワード

需要:毎日1部のtxtファイルのデータを生成して、第三者にhttp方式で呼び出させます。
方法:
1、新規記憶プロセス:
USE [LocojoyMicroMessage]

GO

/****** Object:  StoredProcedure [dbo].[sp_ExportTxt]    Script Date: 03/24/2014 10:08:46 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author:xxx
-- Create date:xxxx-xx-xx
-- Description: -- ============================================= -- xp_cmdshell -- EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; -- : 1 ALTER PROCEDURE [dbo].[sp_ExportTxt] AS Begin declare @sqlstr varchar(3000) declare @pathStr varchar(3000) declare @fileName varchar(3000) set @pathStr='c:\abc\' --
set @fileName=' _'+convert(varchar(10),getdate()-1,112) select CONVERT(varchar(50), col1, 20)+'|'+CONVERT(varchar(50),gameServerId)+'|' + case Productid when 'xxx' then 'TWD' else 'USD' end +'|' +CONVERT(varchar(50),isnull(amount,0))+'|' + + CONVERT(char(6),logTime,112) as colName into ##TemAAADate from dbo. where CONVERT(varchar(100), logTime, 23)=CONVERT(varchar(100), GETDATE()-1, 23) -- set @sqlstr='bcp "select * from ##TemAAADate" queryout "' + @pathStr + @fileName +'.txt" -c -T -x' exec master.dbo.xp_cmdshell @sqlstr drop table ##TemAAADate End -- EXEC [dbo].[sp_ExportTxt]
2、sql作業代理exec上の保存プロセスを作成し、毎日午前1時に実行する。
3、空いているウェブサイトを作成し、第1のステップで生成したtxtファイルをこのウェブサイトの固定ディレクトリに生成し、第三者が「http://xxxx:8005/datalist/2014-03-21.txt」にアクセスすることができる。