SQL SERVER 自动导出exec文件

** SQL SERVER 自动导出exec文件**

** 1.需要开启 master…xp_cmdshell**
启动语句
sp_configure ‘show advanced options’,1
reconfigure
go
sp_configure ‘xp_cmdshell’,1
reconfigure
go
2.导出脚本
##导出exec没有字段名
CREATE procedure [dbo].[SP_OUT_XLS]
as
begin
—这里可以增加对数据表的查询条件或更多的数据处理;

---将结果放入一个新的数据表,然后将这个新表导出EXCEL文件;

declare @file_path varchar(200);--导出EXCEl文件的路径;

declare @file_name varchar(200);--导出EXCEl的文件名;

declare @exec_sql  varchar(200);--SQL语句;

---分开定义是为了以后修改路径或文件名更方便。

set @file_path = 'E:\Dept_Bak\'

set @file_name = 'dept' + CONVERT(varchar(100), GETDATE(), 112)+'.xls'

set @exec_sql = 'select * from DEMO.dbo.data0008'  ---数据表使用的完整路径;

set @exec_sql = ' bcp "'+@exec_sql+'" queryout "'+@file_path+''+@file_name+'" -c -T -U "ADMIN" -P "ADMIN"';

----U "sa" -P "SQLpassword" 这是数据库的sa账号和密码;
print(@exec_sql)
exec master..xp_cmdshell @exec_sql
end
GO

##导出exec没有带字段名
CREATE PROCEDURE [dbo].[SP_out2xls]
as
declare @temp1 nvarchar(4000),@temp2 varchar(8000),
@服务器名 varchar(255),
@库名 varchar(255),
@表名 varchar(255),
@用户名 varchar(100),
@密码 varchar(100),
@路径及文件名 varchar(255)

set @服务器名='192.168.00.00';
set @库名 ='LIVE';
set @表名 ='V_AUTO_BARCODE_STOCK';
set @用户名 ='admin';
set @密码 ='admin';
set @路径及文件名 ='G:\SK_FILES\1122.xls';

set @temp1='select @value1='''',@value2='''' select @value1=@value1+'',''''''+a.name+''''+char(39)+'' [''+a.name+'']'',
@value2=@value2+'',cast(''+''[''+a.name+'']''+ '' as varchar(200))'' from '+@库名+'..syscolumns a,
'+@库名+'..sysobjects d where a.id=d.id and d.name='''+@表名+''''+' order by a.colorder'

exec('drop table '+@库名+'.dbo.T_MIDDLE_TABLE')
exec sp_executesql @temp1,N'@value1 nvarchar(4000) output , @value2 varchar(8000) output',@temp1 output,@temp2 output

select @temp1=right(@temp1,len(@temp1)-1),@temp2=right(@temp2,len(@temp2)-1)

exec('select * into '+@库名+'.dbo.T_MIDDLE_TABLE from (select '+ @temp1+' union all SELECT '+@temp2+' FROM '+@库名+'..'+@表名+') tem3')


set @temp2='bcp '+@库名+'.dbo.T_MIDDLE_TABLE out '+@路径及文件名+' -c -S'+@服务器名+' -U'+@用户名+' -P'+@密码

EXEC master..xp_cmdshell @temp2
GO

**3.创建好做一个作业定时执行即可: **![Alt]在这里插入图片描述
如有侵权请联系删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值