http://topic.csdn.net/u/20080721/14/35eba2a0-5d69-45cc-a2f0-5e6f71e5939c.html
上贴已解决,但新问题又来了在导入数据时,提示
-------------------------------------------------------------------
服务器: 消息 510,级别 16,状态 2,行 3
无法创建比允许的最大值还大的工作表行。请用 ROBUST PLAN 提示重新提交查询。
-------------------------------------------------------------------我试着删掉其中一列(单据号,VARCHAR(8000),该列可能比较大,),就可以了。请问:INSERT INTO t SELECT *  
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;
DATABASE=C:TEST.xls','SELECT * FROM [SHEET1$]')对于这种情况有什么参数可以控制的吗?急,再次放出高分,在线等……

解决方案 »

  1.   

    SQL Server每行(不含text/image)最多只让占用一个data  page(8192但系统还要一部分空间来写一些信息),因为行长度最大为8060.
    text image,ntext之类的,因为行中只存放指针指向实际数据位置,所以占用的空间不算在这8060之内,但指针的存放空间也占用在8060的空间内。这个以前讨论过.
      

  2.   


    我把那列最大的列VARCHAR(8000)改为(7000),可以了,确实如<要学术语>所说。
    这个以前讨论过?我来迟了……
      

  3.   

    to:fcuandy <要学术语>
    ----------------------------
    能否把你们以前讨论的贴子放出来(链接地址也行)看看?我这就结贴。谢谢!
      

  4.   

    http://topic.csdn.net/u/20071125/22/3E508F2D-8F7B-4BC4-B435-09CD3B3ECF87.html
      

  5.   

    2000是改成动态的,2005也应该可以: 
    declare   @PATH   Varchar(50),@FGRname   varchar(50),@SAPname   varchar(50),@FGRDir   varchar(200),@SAPDir   varchar(200),@FGRSQL   varchar(200),@SAPSQL   varchar(200) select   @PATH= 'D:\test\ ',@FGRname= 'FGRtest.xls ',@SAPname= 'SAPtest.xls ' 
    select   @FGRDir=@PATH+@FGRname,@SAPDir=@PATH+@SAPname 
    declare   @sql   varchar(1000)--开始修改 
    set   @sql= 'SELECT   *   into   #FGR   FROM   OpenDataSource(   ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'Data   Source= " '+@FGRDir+ ' "; 
    User   ID=Admin;Password=;Extended   properties=Excel   8.0 ' ')...[sheet1$] ' 
    exec   @sql不知道对你有没有帮助