您的位置:首页 > 数据库

SQL SERVER 2005 BCP功能试用小结

2008-06-03 18:22 357 查看
最近初学SQL SERVER,因为需要使用一个报表工具来将一些业务统计信息做成报表,所以试着使用SQL SERVER的BCP功能来将TXT文件导入到SQL SERVER的数据表。下面对BCP功能做一个简单的小结。1、BCP是一个命令行的工具,语法格式大致如下:bcp {dbtable|query} {in|out|queryout|format} 数据文件 参数选项2、BCP命令简单解释:dbtable是数据库表名,例如格式为:demo.dbo.Sample,其中demo为数据库名,dbo为所有者,Sample是表名;in表示将数据从文件导入数据库表,out表示从数据库表导出到文件;3、BCP命令参数简单解释:[-f 格式化文件]:这是用于格式化的文件名,可以在导入和导出的时候使用;可以在导出数据时指定生成该格式化文件,用[-x]参数来表示生成XML格式的格式文件,下面是我试用时生成的XML形式的格式化文件Sample.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="CharFixed" LENGTH="4" COLLATION="Chinese_PRC_CI_AS"/> <FIELD ID="2" xsi:type="CharFixed" LENGTH="3" COLLATION="Chinese_PRC_CI_AS"/> <FIELD ID="3" xsi:type="CharTerm" TERMINATOR = "/r/n" LENGTH="5" COLLATION="Chinese_PRC_CI_AS"/> </RECORD> <ROW> <COLUMN SOURCE="1" NAME="id" xsi:type="SQLNCHAR"/> <COLUMN SOURCE="2" NAME="name" xsi:type="SQLNCHAR"/> <COLUMN SOURCE="3" NAME="address" xsi:type="SQLNCHAR"/> </ROW></BCPFORMAT>该格式化文件中定义了数据表的行、列以及字段的属性,如字段类型和长度;其中FIELD 1为固定长度的CHAR字符,长度为4,FIELD 2为长度为3的CHAR字符,FIELD 3为长度为5的CHAR字符,这三个字段之间都没有字段分隔符,在第三个字段(FIELD 3)的定义中有一个分隔符为'/R/N',即使用回车+换行作为行分隔符。4、BCP命令示例:使用上面的格式化文件,导入数据的命令为:bcp demo.dbo.Sample in SampleIn.txt -f Sample.fmt -T导出数据的命令为:bcp demo.dbo.Sample out SampleOut.txt -f Sample.fmt -T5、SampleIn.txt:
1111lsyaaaaa
2222liubbbbb
3333xyzccccc
4444abcddddd
5555aaabbbbb
6666dddccccc
7777eeeaaaaa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: