通过Sql Server创建EXCEL文件:master..xp_cmdshell

获取当前的一些需要的配置的值

打开配置

查询结果,生成Excel

发送数据

关闭选项

存储过程完整代码

USE HS_Suggestions_Complaints_System

GO

/****** Object: StoredProcedure dbo.CreateExcelReportAndSendSP Script Date: 11/13/2024 08:23:15 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

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

-- Author: <Author,,Name>

-- Create date: <Create Date,,>

-- Description: <Description,,>

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

ALTER PROCEDURE dbo.CreateExcelReportAndSendSP

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

-- Insert statements for procedure here

declare @sao as int,

@xpcmd as int

SELECT @sao=convert(int,value) FROM sys.configurations where name='show advanced options' ORDER BY name

SELECT@xpcmd=convert(int,value) FROM sys.configurations where name = 'xp_cmdshell' ORDER BY name

select@sao

select@xpcmd

if@sao=0

begin

EXECsp_configure 'show advanced options', 1

RECONFIGURE

end

if@xpcmd=0

begin

EXECsp_configure 'xp_cmdshell', 1

RECONFIGURE

end

DECLARE@ReturnValue INT;

DECLARE@Infor AS NVARCHAR(MAX);

EXEC@ReturnValue=master..xp_cmdshell 'bcp "Select Top 1 N''Id''as Id,N''Title''as Title,N''Fcmy''as Fcmy,N''My''as My,N''Yb''as Yb,N''Bmy''as Bmy,N''Fcbmy''as Fcbmy,N''Create_date''as Create_date,N''Record_date''as Record_date,N''Create_by''as Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions

Union all SELECT Convert(varchar,Id),Title,Convert(varchar,Fcmy),Convert(varchar,My),Convert(varchar,Yb),Convert(varchar,Bmy),Convert(varchar,Fcbmy),Convert(nvarchar(100),Create_date,23)as Create_date,Convert(nvarchar(100),Record_date,23)as Record_date,Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions" queryout "D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv" -w -S"localhost" -U"sa" -P"GDhs3225966"'

if@ReturnValue =0

begin

Set@Infor='创建EXCEL执行成功。'

EXEC@ReturnValue = dbo.SendWeChatAttachment @FilePath = N'D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv',@Infor = @Infor OUTPUT

IF@Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否成功;

begin

Set@Infor='调用存储过程失败。'

end

end

else

begin

Set @Infor='创建EXCEL执行失败。'

end

EXECsp_configure 'xp_cmdshell', 0

RECONFIGURE

EXECsp_configure 'show advanced options', 0

RECONFIGURE

END

sql 复制代码
USE [HS_Suggestions_Complaints_System]
GO
/****** Object:  StoredProcedure [dbo].[CreateExcelReportAndSendSP]    Script Date: 11/13/2024 08:23:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[CreateExcelReportAndSendSP] 
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

       -- Insert statements for procedure here
	declare @sao   as int,
	        @xpcmd as int
	SELECT @sao=convert(int,value) FROM sys.configurations where name='show advanced options' ORDER BY name
	SELECT @xpcmd=convert(int,value) FROM sys.configurations where name = 'xp_cmdshell' ORDER BY name
	select @sao
	select @xpcmd
	if @sao=0
	   begin
	    EXEC sp_configure 'show advanced options', 1
	    RECONFIGURE
	   end
	if @xpcmd=0
	   begin
	    EXEC sp_configure 'xp_cmdshell', 1
	    RECONFIGURE
	   end
	DECLARE @ReturnValue INT;
	DECLARE @Infor AS NVARCHAR(MAX);
	EXEC @ReturnValue=master..xp_cmdshell 'bcp "Select Top 1 N''Id''as Id,N''Title''as Title,N''Fcmy''as Fcmy,N''My''as My,N''Yb''as Yb,N''Bmy''as Bmy,N''Fcbmy''as Fcbmy,N''Create_date''as Create_date,N''Record_date''as Record_date,N''Create_by''as Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions 
	Union all SELECT Convert(varchar,Id),Title,Convert(varchar,Fcmy),Convert(varchar,My),Convert(varchar,Yb),Convert(varchar,Bmy),Convert(varchar,Fcbmy),Convert(nvarchar(100),Create_date,23)as Create_date,Convert(nvarchar(100),Record_date,23)as Record_date,Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions" queryout "D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv" -w -S"localhost" -U"sa" -P"GDhs3225966"'
	if @ReturnValue =0
	   begin
	     Set @Infor='创建EXCEL执行成功。'
	     EXEC @ReturnValue = [dbo].[SendWeChatAttachment] @FilePath = N'D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv',@Infor = @Infor OUTPUT
	     IF @Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否成功;
	        begin
	          Set @Infor='调用存储过程失败。'
	        end
	   end
	else
	   begin
	     Set @Infor='创建EXCEL执行失败。'
	   end
	EXEC sp_configure 'xp_cmdshell', 0
	RECONFIGURE
	EXEC sp_configure 'show advanced options', 0
	RECONFIGURE
END
相关推荐
许彰午1 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜1 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱2 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
九零HTTP3 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
Data-Miner3 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈4 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理
这个DBA有点耶4 小时前
期货 CTP 系统 Oracle RAC 迁移国产库实战:读写分离架构设计与性能对标
数据库·架构·dba
数据库安全4 小时前
AI数据访问安全 |如何控制AI访问权限,防止越权
数据库·安全
这个DBA有点耶5 小时前
Redo Log循环写与checkpoint推进:长事务阻塞下的Checkpoint风暴完整链路
数据库·mysql·代码规范
jnrjian5 小时前
pg_waldump --key-file-name status 查看wal 产生的db
数据库