excel 2003   ms sql 2000
为了测试将excel导入sql 2000,我在数据库db上建了a,b两个字段的table1,然后将其导出到d:/my.xls,实现了,可我在查询分析器执行insert  into  table1  SELECT *  FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','
Data Source="d:\my.xls";User ID=Admin;Password=;Extended  properties=Excel 5.0')...Sheet1$   
想将my.xls插入table1时报错:服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
[OLE/DB provider returned message: 找不到可安装的 ISAM。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:   ]。 刚才关了断开查询分析器,再重新连接,有报这样的错误:服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未给出有关错误的任何信息。]。我是建了一个table1表,导出后再执行导入的,数据类型应该一致吧,行列对不准是?
我用的是office 2003,sql server 2000,Extended  properties=Excel 5.0'服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
[OLE/DB provider returned message: 找不到可安装的 ISAM。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:   ]。
后来断开再连变成了服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未给出有关错误的任何信息。]。Extended  properties=Excel 8.0'报同样的错而Extended  properties=Excel 9.0'Extended  properties=Excel 11.0'时,又报错:服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
[OLE/DB provider returned message: 找不到可安装的 ISAM。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:   ]。

解决方案 »

  1.   

    你的下面这句多了一个空格,去掉一个,关掉excel文件
    Extended  properties --->Extended properties
      

  2.   

    insert into table1 SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\my.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...Sheet1$ 
    还是报错:
    服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
    OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未给出有关错误的任何信息。]。
      

  3.   

    我的my.xls是用bcp命令从ms sql 2000导出的,据说不是真正的excel表格,而是文本,所以不能导入数据库,难道是这样吗?my.xls里有个my的工作表,所以我把sheet$改为my$试了一下,还是不行啊.
      

  4.   

    insert  into  table1  SELECT *  FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','
    Data Source="d:\my.xls";Extended  properties=Excel 5.0')...Sheet1$   这样试试看,我的把User ID和Password去掉就能用了
      

  5.   

    我执行了一下楼上语句的,还是不行.错误信息如下:
    服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。到底怎么回事啊?
      

  6.   

    数据使用语句EXEC master..xp_cmdshell 
    'bcp pubs.dbo.employee out c:\a.xls -c -q -U"sa" -P""'导出的。
      

  7.   

    insert into table1 
    SELECT * 
    FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\my.xls";Extended properties=Excel 5.0')...Sheet1$
      

  8.   

    Sheet1是固定的常量,还是真实的表单名?
      

  9.   

    我也遇到这个问题了,不过修改了一下连接文件就好了。
    Dim Conn,Driver,DBPath,Rs
     ' 建立Connection对象
     
     Driver = "Driver={Microsoft Excel Driver (*.xls)};"
     DBPath = "DBQ="&Server.MapPath( "河北省质量技术监督局认证认可服务中心数据库.xls" )
     Set eConn = Server.CreateObject("ADODB.Connection")
     eConn.Open Driver & DBPath,1,3
      

  10.   

    未能找到 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0 ' 的注册表项。
    这个错误是怎么回事?
    这几天弄mssql导入excel文件都该吐了,就是导入不进去
      

  11.   

    你连的服务器 没有装excel!! 我就遇到这事