PRB:当运行使用 OLE DB Provider for Microsoft Jet 的链接服务器查询时,出现错误 7399

文章翻译 文章翻译
文章编号: 814398 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

如果您运行链接服务器查询,并且已将链接服务器配置为使用 OLE DB Provider for Microsoft Jet,则查询可能不会成功,您可能收到以下错误信息:

Error 7399:OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
[OLE/DB provider returned message:Unspecified error]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:].
如果在 SQL Server 企业管理器中浏览此链接服务器,也可能会收到以下错误信息:

Error 7399:OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.

原因

出现此问题是由于登录帐户没有对 SQL Server 启动帐户的临时文件夹的完全访问权限。此链接服务器查询在登录帐户的上下文中运行。如果您运行链接服务器查询,SQL Server 会尝试在 SQL Server 启动帐户的临时文件夹中创建一个临时文件数据源名称 (DSN)。

替代方法

要解决此问题,请按照下列步骤操作:
  1. 通过使用 SQL Server 启动帐户登录到计算机。
  2. 在操作系统安装目录中创建名为 Temp 的文件夹。
  3. 允许非管理员帐户具有对 Temp 文件夹的完全访问权。
  4. 将 SQL Server 启动帐户的 TEMPTMP 用户变量的值设置为新建的 Temp 文件夹。为此,请按照下列步骤操作:
    1. 右键单击“我的电脑”,然后单击“属性”。
    2. 单击“高级”选项卡,然后单击“环境变量”。
    3. 在“Logon User 的用户变量”列表中,单击“TEMP”,然后单击“编辑”。
    4. 在“变量值”框中,键入 C:\Temp 作为新的 Temp 文件夹的位置,然后单击“确定”。
    5. 重复步骤 c 和 d,设置 TMP 变量的值。
    6. 单击“确定”两次。
  5. 注销,然后通过使用 SQL Server 启动帐户登录到计算机。
  6. 重新启动 SQL Server 服务。

参考

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
296711 PRB:对 Jet 数据库使用 OPENROWSET 时出现“Unspecified error”错误 7399

属性

文章编号: 814398 - 最后修改: 2011年5月15日 - 修订: 5.0
这篇文章中的信息适用于:
关键字:?
kbsqldeveloper kbsecurity kberrmsg kbprb KB814398
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com