转自:

SQL Server的导出导入格局有:


  1. 在SQL Server中提供了导入导出的分界面操作。
  2. 在分界面操作中又分【复制一个或八个表或视图的数据】和【编写查询以钦定要传输的数额】二种方式,第一种是间接对表、视图实行全方位字段、记录举办导出,而第三种正是足以因而SQL语句来调控导出导入的字段和行。
  3. 使用 不难但管用的SQL脚本 中的【表复制】那些中的点子。
  4. 再一种便是在指令行中使用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”),不想输入字段类型等请协作-c一齐使用
    bcp “select * from 数据库名.dbo.表名” queryout c:\currency.txt -S
    数据库实例 -U”客户” -P”密码” -c -t”,” -r”\n”

    –内定每批导入数据的行数、钦赐服务器发出或接受的各样互连网数据包的字节数(-k
    -b五千 -a65535)
    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语句生成四个.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’
    –导入数据也一致能够运用-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执行

注意事项:

*1 使用脚本输出的excel ,无表头
2
可动态文件名和动态sa账户密码生成相关音讯
3
假如出口sql脚本的多少至excel,大家需先将sql脚本生成的数据缓存至表中,然后输出表数据至excel

xp_cmdshell相关权限需展开
*

/*MSsql二〇〇六 怎么着启用xp_cmdshell
默许情形下,sql
server二〇〇七安装完后,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

 

 

 

网站地图xml地图