SQL Server导入数据之"对于所指定的缓冲区来讲太大"
来源:互联网 发布:fliqlo windows 编辑:程序博客网 时间:2024/05/18 02:04
原文地址:
http://www.cnblogs.com/emanlee/archive/2009/07/28/1532878.html
最近处理excel数据导入到Sql Server中,失败,报错如下:
作为源列3(“产品说明”)的数据对于所指定的缓冲区来讲太大。
我的excel文件中有一列叫“产品说明”,就是一些文字。Sqlserver处理导excel数据流程是这样的,它会先创建目标表,再把excel数据写入缓冲区,然后再把缓冲区数据写入目标表。问题就在创建目标表和写入缓冲区,sqlserver会根据现在的excel中的数据格式来写入缓冲区和创建目标表。比如excel中有一列为编号,里面是数字,sqlserver就会在目标表里建一列叫“编号”,为float类型.
而对于我的excel文件中的"产品说明"这一列,是文字,那sqlserver如何建立目标列或缓冲区呢?它怎么知道该把目标建立成varchar还是text呢?经过测试,发现sqlserver是这样做的,他会取excel文件中的前8行(2的三次方),然后算这8行里“产品说明”的最大长度,如果这8行里最长的 >255,则目标列和缓冲区就会建立成ntext类型,否则就建立成nvarchar类型。这样,问题就来了!假设我的excel文件前8行“产品说明”中都 <255,则目标和缓冲区就被建立为varchar(255)类型了(这里说明一下,你可以修改目标表的字段类型,但缓冲区长度或类型是无法修改的)。而如果我的第10行里“产品说明”的长度超过了255,则sql server往缓冲区里写的时候,自然就发生了如上的错误:数据对于指定的缓冲区来讲太大。
- SQL Server导入数据之"对于所指定的缓冲区来讲太大"
- SQL Server导入数据之"对于所指定的缓冲区来讲太大
- excel导入SQL时提示"数据对于所指定的缓冲区来讲太大"
- 将Excel导入MSSQL2000时出现"对于所指定的缓冲区来讲太大"错误的解决方法?
- 将Excel导入MSSQL2000时出现"对于所指定的缓冲区来讲太大"错误的解决方法
- 附加数据库出现"所指定的文件不是有效的SQL Server数据库文件"
- 一次苦难的SQL SERVER 2005数据导入之旅
- SQL Server导入excel数据之Bug!
- SQL Server导入excel数据之Bug!
- MySQL 之 导入外部SQL Server数据
- SQL server 日志太大的处理方法
- SQL Server日志文件太大的解决方法
- SQL SERVER 2008的错误日志太大
- SQL SERVER 2008的错误日志太大
- SQL SERVER 2008的错误日志太大
- SQL server 导入数据
- SQL Server中数据的导入导出
- sql server 数据的导入导出命令
- tomcat端口的更改
- CE5.0关于设备管理器的源码分析
- 线程的锁
- 使用ArcGIS Mobile SDK 9.3 开发移动设备应用
- OpenRowSet权限问题解决
- SQL Server导入数据之"对于所指定的缓冲区来讲太大"
- 我的第一篇Csdn博客文章
- 工欲善其事,必先利其器
- 让 ASP.Net MVC 的URL看上去像个传统WebForm的URL
- 何解决这样的错误 EXCEPTION_ACCESS_VIOLATION
- 如何在Access中参数化日期类型,以解决Data type mismatch in criteria expression的问题
- 初学者的程序,大家提提意见,说说更好的解法,谢谢,呵呵
- [翻译]挑战Windows极限:物理内存
- 初来咋道