如何将超过1G的txt文本易语言导入txt文本SQL中

6425人阅读
需导入的数据格式,TXT文件均无法导入SQL Server 2005的数据库
在SQL Server 2005数据库的导入导出向导过程中,选择了平面数据源,选定了平面文件后,要单击左侧的高级选项,将OutPutColumnWidth(输出列宽度)设置大,根据你列字段的长度,默认的是50,如果你的列中有超过50个字符长度,将会在导出导入过程中提示下面的错误。
* 错误 0xc02020a1: 数据流任务: 数据转换失败。列&列 2&的数据转换返回状态值 4 和状态文本&文本被截断,或者一个或多个字符在目标代码页中没有匹配项。&。
(SQL Server 导入和导出向导)
* 错误 0xc020902a: 数据流任务: &输出列&列 2&(18)&由于发生截断而失败,而且针对&输出列&列 2&(18)&的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQL Server 导入和导出向导)
* 错误 0xc0202092: 数据流任务: 处理文件&F:/Documents and Settings/listening/桌面/佛山.txt&的数据行 39 时出错。
(SQL Server 导入和导出向导)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:190131次
积分:2561
积分:2561
排名:第12264名
原创:67篇
评论:121条
(1)(1)(1)(1)(3)(1)(1)(1)(1)(1)(1)(1)(1)(1)(2)(3)(1)(2)(2)(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(2)(1)(3)(1)(1)(1)(1)(3)(1)(4)(6)(1)(3)(2)(4)(2)(3)2007年3月 Windows专区大版内专家分月排行榜第二2006年12月 Windows专区大版内专家分月排行榜第二
2006年11月 Windows专区大版内专家分月排行榜第三
2015年10月荣获微软MVP称号2014年10月荣获微软MVP称号2013年10月 荣获微软MVP称号2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号2009年10月 荣获微软MVP称号2010年10月 荣获微软MVP称号2005年9月 荣获微软MVP称号2008年10月 荣获微软MVP称号2007年10月 荣获微软MVP称号2006年10月 荣获微软MVP称号
2016年9月 Windows专区大版内专家分月排行榜第一2014年4月 Windows专区大版内专家分月排行榜第一2013年8月 Windows专区大版内专家分月排行榜第一2013年7月 Windows专区大版内专家分月排行榜第一2013年5月 Windows专区大版内专家分月排行榜第一2013年4月 Windows专区大版内专家分月排行榜第一
2005年9月 硬件使用大版内专家分月排行榜第三
2010年4月 Windows专区大版内专家分月排行榜第三2006年3月 Windows专区大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。2013年4月 Oracle大版内专家分月排行榜第二2013年3月 Oracle大版内专家分月排行榜第二2010年5月 Oracle大版内专家分月排行榜第二
2013年1月 Oracle大版内专家分月排行榜第三2011年12月 Oracle大版内专家分月排行榜第三2010年8月 Oracle大版内专家分月排行榜第三2010年4月 Oracle大版内专家分月排行榜第三2010年3月 Oracle大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。&& &通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码。
& & & &首先,表结构如下.
   其次,在我当前D盘中有个文本文件名为2.txt的文件。
  在数据库中,可以这样通过一句代码插入。
'D:\2.txt'
fieldterminator=',',
rowterminator='\n'
  & 1) bulk insert: &为Sql server 中一个批量插入的操作
& & & 2)T_Demo: & 要插入的表
& & & 3)'D:\2.txt': & 数据源文件所在磁盘上的物理路径
& & & 4)with 相当于一些插入的附属条件,可以起这里添加一些约束限制条件等
& & & 5) fieldterminator=&,&字段的分割符为&,&一般的txt文本数据源的字段分隔都为逗号,当然也可以为其他,比如&|&
& & & 6)rowterminator=&\n&各条信息间的分割符为&\n&,一般的txt文本数据源的信息间的分割都是换行符,即一条信息占一行,也可以用其他格式如:&|\n&
 在微软官方给的详细如下:
BULK INSERT
[ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]
FROM 'data_file'
[ [ , ] BATCHSIZE = batch_size ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ [ , ] DATAFILETYPE =
{ 'char' | 'native'| 'widechar' | 'widenative' } ]
[ [ , ] FIELDTERMINATOR = 'field_terminator' ]
[ [ , ] FIRSTROW = first_row ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE = 'format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ]
[ [ , ] LASTROW = last_row ]
[ [ , ] MAXERRORS = max_errors ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH = rows_per_batch ]
[ [ , ] ROWTERMINATOR = 'row_terminator' ]
[ [ , ] TABLOCK ]
[ [ , ] ERRORFILE = 'file_name' ]
这里我们主要看with中的一些参数:(部分)
1)&&&&&& BATCHSIZE&: 指定批处理中的行数
2)&&&&&& CHECK_CONSTRAINTS:启用约束检查,指定在大容量导入操作期间,必须检查所有对目标表或视图的约束。若没有 CHECK_CONSTRAINTS 选项,则忽略所有 CHECK 和 FOREIGN KEY 约束,并在该操作后将表的约束标记为不可信。始终强制使用 UNIQUE、PRIMARY KEY 和 NOT NULL 约束。
3)&&&&&& FIRE_TRIGGERS
指定将在大容量导入操作期间执行目标表中定义的所有插入触发器。如果为针对目标表的 INSERT 操作定义了触发器,则每次完成批处理操作时均激发触发器。
4)&&&&&& KEEPNULLS
指定空列在大容量导入操作期间应保留 Null 值,而不插入列的任何默认值
5)&&&&&& ORDER ( {&column&[ ASC | DESC ] } [&,...n&] )
指定如何对数据文件中的数据排序。如果根据表中的聚集索引(如果有)对要导入的数据排序,则可提高大容量导入的性能
6)&&&&&& ERRORFILE&='file_name'
指定用于收集格式有误且不能转换为 OLE DB 行集的行的文件。这些行将按原样从数据文件复制到此错误文件中。
参考: http://blog.csdn.net/xuemoyao/article/details/8506338
阅读(...) 评论()}

我要回帖

更多关于 txt文本导入数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信