2 huan20120328 huan20120328 于 2014.11.26 10:07 提问

t-sql导入大容量的csv文件报错

用t-sql的bulk insert将一个大容量(300M)的csv文件中的数据导入到sqlserver2005中,报出这样的错误:
消息 4861,级别 16,状态 1,第 2 行
由于无法打开文件 "D:\资料\TouricoHolidays资料\tourico静态文件\PDS2_HotelImages_THF_20141019_T0713.csv",
无法进行大容量加载。操作系统错误代码为 5(拒绝访问。)。
附代码:

bulk insert dbo.HB_HotelDescriptions
from 'D:\资料\TouricoHolidays资料\tourico静态文件\PDS2_HotelImages_THF_20141019_T0713.csv'
with(fieldterminator='|',
DATAFILETYPE='widechar',
FIRSTROW=2,
rowterminator='
')--FIRSTROW=2
请问,有没有好的办法可以解决?

2个回答

plchenyuan
plchenyuan   2014.11.26 11:21

把csv文件切成十个八个小文件。
过大的复杂度,发现错误点很难。

是在导入中途出错,还是开始就出错。
如果是后者,就可能是系统未必能承载。

huan20120328
huan20120328   2014.11.26 12:03

在最开始的是时候就出现这样的错误了,而且在本地不知道用什么打开,wps和记事本都说文本太长,打不开,所以无法切割成好几个文件

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用bulk insert指令来将csv文件导入SQL Server
之前在网上下了许多csv格式的数据。通过数据库导入感觉有点麻烦,于是打算写个脚本来执行。通过搜索,发现用bulk insert指令可以完成这一功能。然而在执行的过程中,MSSQL总是报错称 大容量加载失败。数据文件中第 1 行的第 46 列太长。请验证是否正确指定了字段终止符和行终止符。 无法从链接服务器 "(null)" 的 OLE DB 访问接口 "BULK" 获取所需的接口("IID_I
SQL导入文本错误:大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
服务器: 消息 4832,级别 16,状态 1,行 1 大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。 服务器: 消息 7399,级别 16,状态 1,行 1 OLE DB 提供程序 'STREAM' 报错。提供程序未给出有关错误的任何信息。 OLE DB 错误跟踪[OLE/DB Provider 'STREAM' IRowset::GetNextRows returned 0
Python读取大容量的csv文件
python按行遍历一个大文件: with open('filename') as file:     for line in file:         do_things(line) 结合下文的block,读几行是没压力了,但存成csv的时候各种奇葩问题,什么str和byte的编码问题啦,什么csv一打开是各种奇葩的整数啦…… 如何用python处理非常大的csv和x
大文件Excel,csv等快速导入数据库
今天在向数据库里面导入数据时,发现cvs文件竟然有180M,用sqlserver自带的导入工具导了十几分钟,大概导入了百分之二,而且会出现很多数据类型不匹配(还不知道什么原因,后面把所有类型的长度都加长了),于是放弃了sqlserver自带的导入工具。 之后在网上找到sqlserver自带的函数bulk,用这个函数一共插入了近2000万行数据,耗时328秒,还是比较快的 如果有比这更快的方
csv导入sqlite及sqlite操作实例,绝对有用
csv导入sqlite及sqlite操作实例,绝对有用
csv文件导入sql server常遇到的错误
1、由于为列"***"指定了多个代码页(936和1252),无法处理此列 . 在SQL Server 2008中将公司数据库中某个表的数据导出到文本文件(UTF-8)中,然后带回家之后通过SSIS导入到家里的电脑(936)中去,导如的过程中发现如下错误: ................定了多个代码页(65001 和 936)........................
MySQL导入.csv文件时报1300错误
MySQL导入.csv文件时报1300错误晚上想从一个.csv文件向MySQL导入些数据(含中英文),结果遭遇了1300错误:ERROR 1300 (HY000): Invalid utf8 character string: ”后来尝试用 Navicat for MySQL 导入同样文件,导入过程中编码选择“65001 (UTF-8)”。结果数据倒是导入了,可中文却是乱码……
mysql导入csv文件出错解决办法
将*.csv文件导入mysql可使用LOAD DATA INFILE, 概要写法: Load data in file  对于本地文件,使用 load data local infile 'D:\\filename.csv' 语法 具体语法使用可参照:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data 如果一个
CSV导入数据库-BULK INSERT
BULK INSERT TMP_TableName FROM 'D:\temp.csv' WITH (FORMATFILE = 'D:\csvformat.fmt' , FIRSTROW = 0 , MAXERRORS = 100 , KEEPNULLS , BATCHSIZE = 1000 , TABLOCK , DATAFILETYPE = 'WIDENATIVE') csv
Workbench导入CSV时的编码问题
1.用记事本打开CSV文件,另存为其他文件。在文件名的后缀加上.csv, 编码格式变成utf-8格式。2.创建collation=utf8模式的数据库,在该数据库表tables中右击选table data import wizard选项3.选中自己要导入的文件,一路next,最后下面表中不乱码是原来中文显示就是成功的。...