使用BCP向MSSQL导入大量数据
Bcp使用说明:
https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility?view=sql-server-2017
以LBS数据为例说明:
首先创建数据库表:
1. 创建空表[bs_460]:
-----------------------------------------------
CREATE TABLE [dbo].[bs_460](
[ID] [varchar](20) PRIMARY KEY,
[MCC] [int] NOT NULL DEFAULT(0),
[MNC] [int] NOT NULL DEFAULT(0),
[AC] [int] NOT NULL DEFAULT(0),
[CI] [bigint] NOT NULL DEFAULT(0),
[Ver] [int] NOT NULL DEFAULT(0),
[Radius] [int] NOT NULL DEFAULT(0),
[Address] [nvarchar](150) NOT NULL DEFAULT(0),
[Lat] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lng] [decimal](11, 8) NOT NULL DEFAULT(0),
[REF] [int] NOT NULL DEFAULT(0),
[Roads] [nvarchar](150) NOT NULL DEFAULT(0),
[Lata] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lnga] [decimal](11, 8) NOT NULL DEFAULT(0),
[Latb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Latg] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngg] [decimal](9, 6) NOT NULL DEFAULT(0),
[RID] [int] NOT NULL DEFAULT(0),
[RIDS] [bigint] NOT NULL DEFAULT(0)
)
-----------------------------------------------
用 bcp导入 [bs_460] 库。
在新建的记事本文件中,复制输入下面的 bcp 代码,并且修正核对连接参数,然后另存为脚本文件 *.bat,然后右键“以管理员身份运行”此脚本开始导入。
-----------------------------------------------
bcp 数据库目录名.dbo.bs_460 in E:\*\bs_460_20170301.dat -n -U 数据库用户名 -S 192.168.1.* -P 数据库密码 -b 1000 -h "TABLOCK"
pause
-----------------------------------------------
bcp db_red_armband.dbo.bs_460 in C:\db\lbs\bs_460_20170301.dat -n -U root -S 127.0.0.1 -P szirf_2016 -b 1000 -h "TABLOCK"
pause
这里说明下文件信息:必须是有效存在的;否则会提示如下错误。
正常发送数据时:
发送完毕查看数据即可,当设置有主键时,不可重复导入。