+ -
当前位置:首页 → 问答吧 → 真心请教BLUK INSERT的导入问题

真心请教BLUK INSERT的导入问题

时间:2011-11-24

来源:互联网

BLUK INSERT导入数据,想必大家都用过的吧。
最近刚接触过找个,有些疑问想请教大家:
1.关于formatfile到底是应该是个什么样子的格式,里面的内容到底是个什么样的。
2.我目前需要做的的 将一个文本文档A.TXT(里面不包括标题),以空格还是TALBE形式分隔开的的数据,一共51列。导入到数据库里面的表A里面去,找个表A里面一共有41个字段,和A.TXT里面的前面的41列是一一对应的。
3.我现在的问题就是 导入的时候一直出现截断字符串。。。。一直很悲剧。。。
提问我要如何就取前面的41列呢,另外就是字段分隔符是| 这个竖线。

第二个问题就是。 另外一个文本文档,什么都分隔符都没有,就是按固定长度来放字段的,去的的时候 我只要去获取每一行的第几个字段到到第几个字符,这个又要怎么做。(比如字段A是 第一个字符到第3个字符; 字段B是第4个到第5个字符;字段N是 第N到N+3个字符)

看了2天的文档。。。确实理解不到 关于调用FORMATFILE这个的头绪,能来个达人讲讲到底 从MSSQL 的EXEC命令传入之后,到最后导入了表这个过程中,系统到底做了什么啊。

作者: jadilee   发布时间: 2011-11-24

字段分隔符 | 换行符 /n

阶段字符串可能是你表里面定义的字符长度太小,放大点导入试试!你可以先从TXT里拷贝几行出来弄个简单的TXT导入,格式先弄好。

作者: AcHerat   发布时间: 2011-11-24

格式固定可用(指定字段终止符和行终止符)
http://technet.microsoft.com/zh-cn/library/ms191485(SQL.90).aspx
BULK INSERT--可直接用
http://technet.microsoft.com/zh-cn/library/ms188365(SQL.90).aspx
参照
http://technet.microsoft.com/zh-cn/library/ms178129(SQL.90).aspx

作者: roy_88   发布时间: 2011-11-24

1.联机丛书都是有具体的格式的。2005还可以使用xml格式化文件。

2.分隔符应该采用数据中不会存在的字符,否则会出现分隔错误。


第二个关于固定分隔长度的,我以前的帖子有。

作者: liangCK   发布时间: 2011-11-24

DATAFILETYPE = 'char'
 指定将数据字段作为字符数据加载。
 
就是这个我看不明白呢,这个CHAR 我要怎么是让SQL知道我是要到第41列就完毕了呢

作者: jadilee   发布时间: 2011-11-24