日期:2014-05-17  浏览次数:20646 次

txt数据导入到sql server 2008中的问题!!!
txt中有多行三列数据,列之间以一个空格间隔,如图所示:
我本意是想把他导入sql server中作为三个字段(x y z)的数据,没想到它们全跑到x字段下了,怎么办?
因为列分隔符中没有“空格”这个选项,所以我就把空格用“替换”功能替换成英文半角逗号,如图所示:
导入后确实变成了3个字段,我以为大功告成,没想到数据库里面的数值和源文件中的数值不一样。这是什么原因???????
而且我假设将1.txt导入数据库命名为2.txt,再又导出命名为3.txt,最后发现1、2、3中有很多数据都不一样啊,整了几个小时,都没搞明白什么原因,求解!

------解决方案--------------------
引用:
这是我需要导入的txt文件的连接地址:http://pan.baidu.com/s/1dDikvKl
恳请牛人帮帮忙哈!


我试了一下,能查询到数据的:

use pubs
go

create table xxdd  
(  
aa nvarchar(1000),  
bb nvarchar(1000),  
cc nvarchar(1000) 
)  
go  

exec xp_cmdshell 'bcp pubs.dbo.xxdd format nul -t " " -f c:\wc.fmt -c -Usa -Pyupeigu -S 192.168.1.100,1433'  
go



select *  
from   
openrowset(bulk 'c:\基圆.txt',             --要读取的文件路径和名称   
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                  
                firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                  
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                  
                rows_per_batch = 10000                    --每个批处理导入的行数  
       &nbs