我通过在线编译器上传一个文件,里面有表格,结果显示以下错误:
错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
无法创建大小为 8151 的行,该值大于允许的最大值 8060。

如果再大点就会显示数据库要截断数据
(删除一些内容是可以提交的,代码没有问题,数据库最多支持8000,varchar型变量)
可是提交的数据实在是很少,如何提交更多的东西呢?急用,谢谢

解决方案 »

  1.   

    以下为 sql server 2000 数据对象的最大容量说明,在实际应用过程中可以根据需要作适当的改变。对象(最大容量说明)
    批处理大小(65,536 * 网络数据包大小) 见说明1.
    每个短字符串列的字节数(8,000) 
    每个 text、ntext、或 image 列的字节数(2 GB - 2) 
    每个 GROUP BY、ORDER BY的字节数() 见说明2.
    每个索引中的字节数(900) 
    每个外键的字节数(900) 
    每个主键的字节数(900) 
    每行字节数(8,060) 
    存储过程源文本中的字节数(批处理大小之较小者或者 250 MB) 
    每个数据表的聚集索引数(1) 
    GROUP BY、ORDER BY 中的列数()  
    GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目()
    每个索引的列数(16)
    每个外键的列数(16)
    每个主键的列数(16)
    每个基础数据表的列数(1,024)
    每个SELECT 语句的列数(4,096)
    每个INSERT 语句的列数(1,024)
    每个客户端的连接个数(已配置连接的最大值)
    数据库大小(1,048,516 TB) 见说明3.
    每个 SQL Server 实例的数据库个数(32,767)
    每个数据库的文件组个数(256)
    每个数据库的文件个数(32,767)
    文件大小(数据)(32 TB) 
    文件大小(日志)(32 TB)
    每个数据表的外键表引用(253)
    标识符长度(以字符计)(128)
    每台计算机的实例数 暂缺 16 
    包含 SQL 语句的字符串长度(批处理大小)(65,536 * 网络数据包大小)
    每个连接的锁数(每个服务器的最大锁数)
    每个 SQL Server 实例的锁数(2,147,483,647(静态)SQL Server 40%的内存(动态))
    嵌套存储过程层数(32) 
    嵌套子查询(32) 
    嵌套触发器层数(32) 
    每个数据表的非聚集索引个数(249) 
    SQL Server 实例中同时打开的对象个数(2,147,483,647(或可用内存)) 见说明4.
    每个数据库中的对象个数(2,147,483,6474)
    每个存储过程的参数个数(1,024)
    每个数据表的 REFERENCE 个数(253) 
    每个数据表的行数(受可用存储资源限制)
    每个数据库的数据表个数(受数据库中的对象个数限制) 
    每个 SELECT 语句的数据表个数(256) 
    每个数据表的触发器个数(受数据库中的对象个数限制) 
    每个数据表的 UNIQUE 索引个数或约束个数(249个非聚集索引和 1 个聚集索引)
      

  2.   

    将栏位修改为大数据类型ntext等等,或者是截取你的输入文件的长度.
      

  3.   

    如果非要用那么的,把字段类型改为text 或 ntext
      

  4.   

    问题解决了,不过这个数据类型会不会太占存储空间啊,你说的截取你的输入文件的长度是怎么回事?
    我就是想输入大量内容,但效果要和varchar型变量一样节约空间
      

  5.   

    你说的截取你的输入文件的长度是怎么回事? 就是减少存入的内容.有关ntext、text 和 image说明见下:用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 注释
    下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句 
    DATALENGTH  READTEXT 
    PATINDEX SET TEXTSIZE 
    SUBSTRING UPDATETEXT 
    TEXTPTR WRITETEXT 
    TEXTVALID   
      

  6.   

    varchar与text占用空间主要都是取决于实际内容的大小,
    它们的关键区别在于存储方式和效率上的差异。对于超过行总长限制的需求,
    2005及以上版本可用(n)varchar(max)进行延伸,
    2000就只能如此了。
      

  7.   

    用ntext就行,不会太影响你的效率!