Sql server 2005 使用excel更新sql时出现问题

Sql server 2005 使用excel更新sql时出现问题,sql-server-2005,excel,Sql Server 2005,Excel,我对此查询有问题: UPDATE Provinces SET Provinces.DefaultName=T2.Defaultname FROM Provinces INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\provinces.xlsx;HDR=YES', 'SELECT Code, Defaultname F

我对此查询有问题:

UPDATE Provinces 
SET    Provinces.DefaultName=T2.Defaultname 
FROM   Provinces 
INNER JOIN 
    OPENROWSET('Microsoft.Jet.OLEDB.4.0',
               'Excel 8.0;Database=C:\provinces.xlsx;HDR=YES',
               'SELECT Code, Defaultname FROM [Arkusz1$]') T2 
     On Provinces.Code = t2.Code 
WHERE  Provinces.Code = T2.Code
我得到一个错误:

信息7399,16级,状态1,第1行 链接服务器的OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”(null)报告了错误。提供程序没有提供有关错误的任何信息。 味精7303,16级,状态1,第1行 无法为链接服务器(null)初始化OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象


此错误的来源是什么?如何修改SQL语句?

此处详细介绍了导致此错误的几种可能原因:


一个可能的原因是访问该链接服务器的人的sql服务登录的临时目录的文件系统权限:
C:\Documents and Settings\(sql登录名)\Local Settings\temp

此处详细介绍了几种可能的原因:


一个可能的原因是访问该链接服务器的人的sql服务登录临时目录的文件系统权限:
C:\Documents and Settings\(sql登录名)\Local Settings\temp

,这是一个权限被拒绝的错误。如下:

注意:如果您使用的是SQL Server 2005,请确保已使用SQL Server表面积配置启用了“特殊分布式查询”选项

sp_configure 'Ad Hoc Distributed Queries', 1

这是一个权限被拒绝的错误。如下:

注意:如果您使用的是SQL Server 2005,请确保已使用SQL Server表面积配置启用了“特殊分布式查询”选项

sp_configure 'Ad Hoc Distributed Queries', 1

它是配置为链接服务器的excel文件吗?有时我只是将所选单元格复制到剪贴板中,然后使用sql server management studio粘贴到打开的表中,但您必须具有相同顺序的列是配置为链接服务器的excel文件吗?有时我只是将选定单元格复制到剪贴板中,然后使用sql server management studio粘贴到打开的表中,但您必须具有相同顺序的列