使用BCP导出数据以及Bulk insert导入数据
BCP使用方法:1.使用命令行或PowerShell 2.使用SSMS
PowerShell
--整个表导出(out) bcp 数据库名.dbo.表名 out c:\currency.txt -S"数据库实例" -U"用户" -P"密码" -c bcp [***].[dbo].[TableName] out D:\Work\Database\currency.txt -S "192.***.***.***" -U "SA" -P "123" -c --使用SQL语句导出(queryout) bcp "select * from 数据库名.dbo.表名" queryout c:\currency.txt -S 数据库实例 -U"用户" -P"密码" -c bcp "select * from [***].[dbo].[TableName]" queryout D:\Work\Database\TableName.txt -S "192.***.***.***" -U "SA" -P "123456" -c 数据导入: bcp [***].[dbo].[TableName] in D:\Work\Database\currency.txt -S "192.***.***.***" -U "SA" -P "123456" -c
SSMS *(导入导出路径以服务器路径为准,并非本地电脑路径)
--整个表导出(out)
EXEC master..xp_cmdshell
'bcp [***].[dbo].[TableName] out D:\Work\Database\test.txt -S "192.***.***.***" -U "SA" -P "123456" -c'
数据导入:
EXEC master..xp_cmdshell
bcp [***].[dbo].[TableName] in D:\Work\Database\currency.txt -S "192.***.***.***" -U "SA" -P "123456" -c
使用 bulk insert 导入数据
BULK INSERT [OnePayTest].[dbo].[TableName] FROM 'D:\Work\Database\TableName.txt';
*导出数据时,若需要替换间隔符号或换行符,可针对-t及-r设置
例:bcp "select * from [***].[dbo].[TableName]" queryout D:\Work\Database\TableName.txt -S "192.***.***.***" -U "SA" -P "123456" -c -t "," -r "\n"