我用的sql server2005,在将excel数据导入sql数据库时,提示:“操作数类型冲突 ntext与image不兼容”
源代码为:insert into select  *  from
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\shuju.xls";User ID=Admin;Password=;Extended properties="Excel 8.0;HDR=no"')...[sheet1$]
go
查了很多相关文档没有找到合适的解决方法,请各位大侠相助啊!!

解决方案 »

  1.   

    insert into 到哪里去了?不兼容就修改下字段类型
      

  2.   


    这样用
    从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:   
        
      /*===================================================================*/   
      --如果接受数据导入的表已经存在   
      insert   into   表   select   *   from     
      OPENROWSET('MICROSOFT.JET.OLEDB.4.0'   
      ,'Excel   5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)   
        
      --如果导入数据并生成表   
      select   *   into   表   from     
      OPENROWSET('MICROSOFT.JET.OLEDB.4.0'   
      ,'Excel   5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)   
        
        
      /*===================================================================*/   
      --如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:   
      insert   into   OPENROWSET('MICROSOFT.JET.OLEDB.4.0'   
      ,'Excel   5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)   
      select   *   from   表   
        
        
      --如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:   
      --导出表的情况   
      EXEC   master..xp_cmdshell   'bcp   数据库名.dbo.表名   out   "c:\test.xls"   /c   -/S"服务器名"   /U"用户名"   -P"密码"'   
        
      --导出查询的情况   
      EXEC   master..xp_cmdshell   'bcp   "SELECT   au_fname,   au_lname   FROM   pubs..authors   ORDER   BY   au_lname"   queryout   "c:\test.xls"   /c   -/S"服务器名"   /U"用户名"   -P"密码"'   
      

  3.   

    可以把EXCEL里面的设置为文本格式的 再导。
      

  4.   

     #3楼 得分:0回复于:2011-11-18 21:06:23可以把EXCEL里面的设置为文本格式的 再导。 
      
    设置为文本格式只能一行一行的导入的嘛,我的数据有点多哟!
      

  5.   

    同样报错啊:操作数类型冲突: ntext 与 image 不兼容
      

  6.   


    用以上语句查看一下Excel就明了,这不用教了吧
    数据表的字段是否为 image类型,导入主ntext,或反之