使用BCP 命令输入大量的数据
2008-03-07 16:29
344 查看
由于前段时间做大数据量的导入程序.在做的时候遇到的问题.几万条的数据从Excel中导入到数据库中,速度是非常的慢,程序简直不能运行,后来就研究了BCP命令的方式进行导入.几十万的数据也就几十秒,很快,所以将自己的小成果给大家分享.当然,可能有很多可以完善的地方,大家共同努力吧
使用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文件的导入,还在进一步的研究中
使用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文件的导入,还在进一步的研究中
相关文章推荐
- 使用BCP命令将SqlServer2008的数据输出到文本
- SqlServer 数据的导入导出,使用bcp命令
- MSSQL中使用命令行BCP命令导入导出数据
- bcp命令导入大量数据到sql server
- 使用SQL产生BCP命令快速备份/恢复你所有数据
- SQL Server 2005使用BCP命令将数据表导出到Excel第一行包括表头
- 使用bcp命令导出数据
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- mybatis 使用经验小结,batch批量提交大量数据
- SQL2005 数据的导出 bcp 命令
- istringstream的使用方法——ACM对输入数据的处理方法
- 使用phpmyadmin导入大量数据
- 使用next()和nextLine()方法接收从键盘输入字符串型数据区别
- 使用UI Automation实现自动化测试--7.1 (模拟键盘输入数据在自动化测试中的应用)
- 使用Oracle 的 imp ,exp 命令实现数据的导入导出
- Linux 下的超级终端minicom的使用手册( 并解决minicom无法输入命令问题)
- 使用Display标签对大量数据使用外部排序实例(一)
- sqlplus使用copy命令在两个数据库之间更新数据
- 使用imp命令将a1用户的dmp数据,导入到a2用户下
- runas 命令的使用及RUNAS自动输入密码的方法