我在查询分析器中写的语句 把excel表导入sql数据库中,下面的语句把1.xls的工作簿“查询”成功导入数据库drawback
INSERT INTO drawback 
    select * 
        FROM  OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\1.xls',[查询1$])
但是导入任何一个工作簿名称中间有空格的就提示错误信息如下
INSERT INTO drawback 
   select *
      FROM  OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\2.xls',[查询 1$])
*********错误提示*********
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不包含表 '查询 1'。该表可能不存在,或当前用户没有使用该表的权限。
OLE DB 错误跟踪[Non-interface error:  OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='查询 1']。
****************************************
我的工作簿名称和导入的语句中是一致的,哪位高手给知道下,为什么有空格就不行了呢????谢谢咯

解决方案 »

  1.   

    我的数据库和excel表字段是完全对应的,没必要导入临时表吧,我就是想解决 空格为啥不行
      

  2.   

    直接用MS SQL 自带的数据导入工具,如有空格,也是识别不了的。
      

  3.   

    excel 文件,在生成的时候,隐藏/透视表等处理,会将后面没有用到的很多列,填上空字符,所以需要先将这些空格删掉再导