SELECT * INTO LIST FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0'
'Data Source=C:\Users\Rich\Desktop\数据.xlsx;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO LIST FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Users\Rich\Desktop\数据.xlsx', [Customers$])SELECT * INTO LIST FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Users\Rich\Desktop\数据.xlsx', 'SELECT * FROM [Customers$]')
这是原代码,看不错哪里有错误,这是我看了很多帖子搞出来的。我的目的是将桌面上名为 数据.xlsx的文件导入到数据库表LIST中去。
出现的错误如下:
消息 102,级别 15,状态 1,第 2 行
'Data Source=C:\Users\Rich\Desktop\数据.xlsx;Extended Properties=Excel 8.0' 附近有语法错误。

求大神给指点指点,中间解决了很多问题才到这一步的。
数据库excel

解决方案 »

  1.   

    http://hi.baidu.com/yiyishuitian/item/38bb75e7a9fd452e5a7cfb5b写的一个总结文章,希望对你有帮助.
      

  2.   

    --Microsoft.Jet.OLEDB.4.0应该不支持xlsx格式
    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Users\Rich\Desktop\数据.xls','select * from [Customers$]')
    SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Users\Rich\Desktop\数据.xls')...['Customers$']
      

  3.   

    按照你这个方式我试过了,但是还是有错误,错误显示如下:
    链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "Microsoft Jet 数据库引擎找不到对象'Customers$'。请确定对象是否存在,并正确地写出它的名称和路径。"。
    消息 7350,级别 16,状态 2,第 1 行
    无法从链接服务器 "(null)" 的 OLE DB 访问接口"Microsoft.Jet.OLEDB.4.0"获取列信息。
      

  4.   

    我刚才弄错,试了试确实不存在以前的问题了,但是还有不成功,原因如下:
    消息 102,级别 15,状态 1,第 2 行
    'Data Source=C:\Users\Rich\Desktop\数据.xls;Extended Properties=Excel 8.0' 附近有语法错误。

    看不出哪里有错误啊,求指导啊
      

  5.   

    你的XLS中有这个Sheet名吗?
    或者把你的Sheet改个名字:test,然后用把代码里的名字改成:test$,试试。
    参考下面的文章,应该可以解决:
    http://blog.csdn.net/wwwwgou/article/details/6531524
      

  6.   

    呵呵,或许,把Extended Properties=Excel 8.0放在Data Source前面就可以了。
    具体,还是参考一下那篇文章吧
      

  7.   

    try this,SELECT * INTO LIST FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;Database=C:\Users\Rich\Desktop\数据.xlsx;HDR=YES', 'SELECT * FROM [Customers$]')
      

  8.   

    实例-》服务器对象-》链接服务器-》访问接口。
    有Microsoft.ACE.OLEDB.12.0 和 Microsoft.Jet.OLEDB.4.0 吗?
      

  9.   

    呵呵,或许,把Extended Properties=Excel 8.0放在Data Source前面就可以了。
    具体,还是参考一下那篇文章吧
    能留下你的QQ吗?我把我的excel发给你,然后你能帮我试着到如下看看吗?我感觉是不是我的SQL server设置问题啊
      

  10.   

    实例-》服务器对象-》链接服务器-》访问接口。
    有Microsoft.ACE.OLEDB.12.0 和 Microsoft.Jet.OLEDB.4.0 吗?
    这两个都有的,原来是没有Microsoft.ACE.OLEDB.12.0的,我安装上了,之后就光是显示语法错误了
      

  11.   

    换个Excel试一下? 自己写个最简单内容的那种.如果ok,说明是原先Excel文件的问题,查看一下格式是否正确.
      

  12.   

    LZ的windows,office,sql server各是什么版本的?
      

  13.   

    请把你的联系方式,和EXCEL发到下面邮箱:[email protected]
    发完后,请引用回复。
      

  14.   

    windows是win7的,office是10的,sql server是2005的
      

  15.   

    请把你的联系方式,和EXCEL发到下面邮箱:[email protected]
    发完后,请引用回复。
    发送完了,查收一下吧,顺便问一下,你懂得HTML Regex吗?
      

  16.   

    windows是win7的,office是10的,sql server是2005的
    1.确认SQL2005 SP4补丁安装了没?
    2.查看数据库属性,数据库兼容等级是否为80? 应设为90.