SqlServer之xp_cmdshell_使用以及安顿,使用脚本输出excel文件的诀要分享

转自:

SQL Server的导出导入格局有:


  1. 在SQL Server中提供了导入导出的界面操作。
  2. 在界面操作中又分【复制1个或多少个表或视图的多少】和【编写查询以钦点要传输的多寡】三种形式,第二种是直接对表、视图举办任何字段、记录实行导出,而第二种便是足以通过SQL语句来支配导出导入的字段和行。
  3. 使用 不难但管用的SQL脚本 中的【表复制】那中间的章程。
  4. 再1种就是在命令行中使用bcp命令来导入导出多少,需求专门表明的是,那是对命局据量导入导出就好的法子。

    –整个表导出(out)
    bcp 数据库名.dbo.表名 out
    c:\currency.txt -S”数据库实例” -U”用户” -P”密码” -c 

    –使用SQL语句导出(queryout)
    bcp “select * from 数据库名.dbo.表名” queryout c:\currency.txt -S
    数据库实例 -U”用户” -P”密码” -c

    –设置字段分隔符和行分隔符(-c -t”,”
    -r”\n”),不想输入字段类型等请同盟-c1起行使
    bcp “select * from 数据库名.dbo.表名” queryout c:\currency.txt -S
    数据库实例 -U”用户” -P”密码” -c -t”,” -r”\n”

    –钦命每批导入数据的行数、钦定服务器发出或收取的种种网络数据包的字节数(-k
    -b伍仟 -a6553五)
    bcp “select * from 数据库名.dbo.表名” queryout c:\currency.txt -S
    数据库实例 -U”用户” -P”密码” -c -t”,” -r”\n” -k -b5000-a65535

    –在查询分析器上进行(EXEC master..xp_cmdshell)
    EXEC master..xp_cmdshell ‘bcp “select * from 数据库名.dbo.表名”
    queryout c:\currency.txt -S 数据库实例 -U”用户” -P”密码” -c’

    –把SQL语句生成1个.sql文件,然后调用
    –注:路径的文本夹名称中间不能够有空格
    exec master..xp_cmdshell ‘osql -S 数据库实例 -U 用户 -P 密码 -i   
    C:\cmdshellTest.sql’  

    –将数据导入到currency表中
    EXEC master..xp_cmdshell ‘bcp 数据库名.dbo.表名 in c:\currency.txt
    -c -T’
    –导入数据也1致能够运用-F和-L选项来采纳导入数据的记录行。
    EXEC master..xp_cmdshell ‘bcp 数据库名.dbo.表名 in c:\currency.txt
    -c -F 10 -L 13 -T’

澳门新萄京 1

摘要:

在应用命令xp_cmdshell的时候供给设置权限:

下文将享用应用sql脚本输出excel的主意
 
此脚本能够使用于 表或视图生成excel的措施,
若需使用sql脚本输出excel数据,大家可将sql脚本生成视图或一时半刻表,

澳门新萄京 2

下一场再输出excel

输出excel语法简介:
exec
澳门新萄京 ,master..xp_cmdshell ‘bcp
[数据库名称].[架构名].[表名] out [excel存放地点全路线] -c -q
-S”服务器Ip” -U “sql用户名” -P “sql密码”‘

---例1:
exec 
master..xp_cmdshell 'bcp test.dbo.tableName out d:\test.xls -c -q -S"." -U "sa" -P "erp"'
---将数据库test中tablName输出值d盘test.xls文件
---服务器地址.
---sql账户sa
---sql密码erp
--------------------------------------------
例2: 根据动态文件名输出excel的方法
declare @name varchar(30) ---动态文件名
set @name ='d:\test123.xlsx'

exec 
('master..xp_cmdshell ''bcp test.dbo.tableName out '+@name+' -c -q -S"." -U "sa" -P "erp"''') ---拼接操作语句,并采用exec执行

注意事项:

*一 使用脚本输出的excel ,无表头
贰可动态文件名和动态sa账户密码生成相关消息
3假如出口sql脚本的数目至excel,我们需先将sql脚本生成的数码缓存至表中,然后输出表数据至excel

xp_cmdshell相关权限需打开
*

/*MSsql200伍 如何启用xp_cmdshell
暗中认可景况下,sql
server200伍安装完后,xp_cmdshell是剥夺的(恐怕是高枕无忧着想),倘若要运用它,可按以下步骤
*/
— 允许配置高档选项
EXEC sp_configure ‘show advanced options’, 1
GO
— 重新配置
RECONFIGURE
GO
— 启用xp_cmdshell
EXEC sp_configure ‘xp_cmdshell’, 1
GO
–重新配置
RECONFIGURE
GO

–执行想要的xp_cmdshell语句
Exec xp_cmdshell ‘query user’
GO

–用完后,要记得将xp_cmdshell禁止使用(出于安全着想)
— 允许配置高档选项
EXEC sp_configure ‘show advanced options’, 1
GO
— 重新配置
RECONFIGURE
GO
— 禁用xp_cmdshell
EXEC sp_configure ‘xp_cmdshell’, 0
GO
–重新配置
RECONFIGURE
GO

澳门新萄京 3

澳门新萄京 4

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注