我在把ACCESS和EXCEL中的表数据导入SQL_SERVER中时遇到了一点问题,
  特来向高手请教。下面错误是什么原因?非常感谢!!!if access then   '当为access 时执行此句
strSql = "INSERT INTO " & sql_tabname& "(" & tab_col & ") SELECT " & tab_col & " FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','" & s_path & "';'admin';''," & acc_name & ")"else             '当为excel 时执行此句strSql = "INSERT INTO " & sql_tabname& "(" & tab_col & ") SELECT " & tab_col & " FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=" & s_path & ";User ID=Admin;Password=;Extended properties=Excel 8.0')...[" & acc_name & "]"endif        当执行语句:conn.Execute strSql, count, adExecuteNoRecords
时报错, 错误为: Error Number: -2147217900
[Microsoft] [ODBC Sql Server Driver] [Sql Server] OLE DB 提供程序
'Microsoft.Jet.OLEDB.4.0' 报错,提供程序未给出有关错误的任何信息。
说明:sql_name: 为SQL_SERVER表名      tab_col: 为SQL_SERVER所选择的各字段名 
      s_path:为ACCESS或EXCEL路径文件名 acc_name: 为ACCESS或EXCEL表名
      count:为记录总数               conn为Ado的一个连接备注:strSql的实例数据为:
      当为access时等于:INSERT INTO czy([czy_id],[czy_name],[czy_address],[czy_bz])
      SELECT [czy_id],[czy_name],[czy_address],[czy_bz] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','D:\temp\czy.mdb';'admin';'',czy)
   
      当为excel时等于: INSERT INTO czy([czy_id],[czy_name],[czy_address],[czy_bz]) 
      SELECT [czy_id],[czy_name],[czy_address],[czy_bz] FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=D:\temp\czy.xls;User ID=Admin;Password=;Extended properties=Excel 8.0')...[czy$]  

解决方案 »

  1.   

    当我在SQL查询分析器里执行下面语句时没问题 但把northwind.mdb文件拷到别的目录时就不行
    请问是为什么?只要是换目录就报错,错误为:
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
    [OLE/DB provider returned message: 'e:\test\datainport1.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。]
    语句为:
    SELECT *
    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
       'c:\test\northwind.mdb';'admin';'', Orders)