BCP命令行导出导入大数据
首先看导出:
要点:确保你安装了Microsoft Command Line Utilities 15 for SQL Server (x64).msi这个包
进入command窗口,这个不用说了吧,都会的win+R,cmd
下面代码为导出数据,我的机器大概每秒10000多行,相信大家的都比我快
bcp LNBI.DBO.SITE_INFO out f:/aaa/aaa.txt -U"用户名" -P"密码" -S 你的服务器ip地址 -t -k -c
生成数据表的格式文件,命令如下:
BCP LNBI.dbo.SITE_INFO format nul -U"用户名" -P"密码" -S 你的服务器ip -f f:/aaa/aaa.xml -t -c -x
导入数据(是在服务器上执行的):
--开启xp_cmdshell存储过程(开启后有安全隐患)
-- 允许配置高级选项
EXEC master.sys.sp_configure 'show advanced options', 1
-- 重新配置
RECONFIGURE
-- 启用xp_cmdshell
EXEC master.sys.sp_configure 'xp_cmdshell', 1
--重新配置
RECONFIGURE
INSERT INTO db_mgr.dbo.T_Student(F_Code, F_Name) SELECT F_Code, F_Name
FROM OPENROWSET(BULK N'C:/student_c.data', FORMATFILE=N'C:/student_fmt_c.xml') AS new_table_name -- T_Student表必须已存在
SELECT F_Code, F_Name INTO db_mgr.dbo.tt
FROM OPENROWSET(BULK N'C:/student_c.data', FORMATFILE=N'C:/student_fmt_c.xml') AS new_table_name -- tt表可以不存在