使用BCP 命令输入大量的数据
1:目的:将大两数据输入sql server 等数据库
2:方法:BCP命令
3:实现方式:
Sql 语句:
bulk insert T1 from 'C:"TxtFile2.txt'
WITH
( FIELDTERMINATOR=',',
ROWS_PER_BATCH=100,
errorfile='c:"aa.csv',
formatfile='C:"sql.fmt'
)
From 后面的源文件可以是txt 也可以是csv格式,两种格式的FIELDTERMINATOR一样都是’,’.
此外对于一张表,我可以只导入某些字段.这是我们必须用formatfile格式文件进行映射.文件的格式为”fmt”格式语法如下
<?xml version="1.0"?>
<BCPFORMAT
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="50" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="200" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR=""r"n" MAX_LENGTH="50" />
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="id" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="2" NAME="firstname" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="3" NAME="age" xsi:type="SQLINT"/>
</ROW>
</BCPFORMAT>
注意TERMINATOR的设置.是”,” 还是”"t”.txt和csv文件为”,”
Excel格式文件为”"t”.
目前已经通过了对txt和csv格式的导入,对于xls文件的导入,还在进一步的研究中