txt数据导入到sql server 2008中的问题!!!

txt中有多行三列数据,列之间以一个空格间隔,如图所示:

我本意是想把他导入sql server中作为三个字段(x y z)的数据,没想到它们全跑到x字段下了,怎么办?

你先把txt文件转成excel文件,在excel文件里面分三列,在把第一行写成字段名称,再用语句
select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=C:\表名.xls',a$) ,a$是表的内名
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-20
怎样把.xml的数据导入到sql
server
2008中
是不是用etl工具导入的?etl任务中该字段的长度有没有设置正确?长度不正确的话,在写到sqlserver之前就会被截断。
第2个回答  2013-12-22
指明用空格分隔,应该可以。追问

但列分隔符中没有“空格”这个选项啊,只有:

??????????????

追答

如果没有其他可指定为空格,则只能替换txt文件中的空格为上述可用符号中的一个,如竖线或制表符。

追问

这样读进去的数据有错误啊,我将其用逗号分隔后:

导入到数据库后,这下分成了3个字段,但和源文件进行对比,发现有很多行数据和源文件中不一样,这什么原因啊。

追答

从你前后两段数据看,我认为你应该是两个不同的文件,请仔细检查。
也可以先弄个简单数据的txt文件试试看。

追问

绝对是同一个文件,我自己写的1~15,五行三列,进行导入导出是对的,但我上面的数据都是几万行的,反正导入数据库的表里后,与源文件.txt文件中的数据对不上号,数据还是原来的数据,只是本来在.txt中为第一行的数据跑到了1000+行,不知道什么原因

追答

你用小文件先测试,慢慢分析原因,祝你成功。

相似回答