PRB: Error 7399 al ejecutar una consulta de servidor vinculado que utiliza el proveedor OLE DB para Microsoft Jet

Síntomas

Si ejecuta una consulta de servidor vinculado y configurado el servidor vinculado para que utilice el proveedor OLE DB para Microsoft Jet, la consulta puede no tener éxito y puede recibir el siguiente mensaje de error:
Error 7399: Proveedor OLE DB 'Microsoft.Jet.OLEDB.4.0' informó de un error.
[Proveedor OLE/DB devolvió el mensaje: error no especificado]

Traza de error de OLE DB [IDBInitialize:: Initialize 'Microsoft.Jet.OLEDB.4.0' de proveedor OLE/DB devolvió 0 x 80004005:].
Si examina el servidor vinculado en el Administrador corporativo de SQL Server, también puede recibir el siguiente mensaje de error:
Error 7399: Proveedor OLE DB 'Microsoft.Jet.OLEDB.4.0' informó de un error.

Causa

Este problema se produce porque la cuenta de inicio de sesión no tiene acceso completo a la carpeta temporal de la cuenta de inicio de SQL Server. La consulta de servidor vinculado se ejecuta en el contexto de la cuenta de inicio de sesión. Si ejecuta una consulta de servidor vinculado, SQL Server intenta crear un nombre de origen de datos (DSN) de archivo temporal en la carpeta temporal de la cuenta de inicio de SQL Server.

Solución alternativa

Para evitar este problema, siga estos pasos:
  1. Inicie sesión en el equipo utilizando la cuenta de inicio de SQL Server.
  2. Cree una carpeta denominada Temp en el directorio de instalación del sistema operativo.
  3. Permitir acceso completo a una cuenta sin privilegios de administrador en la carpeta Temp.
  4. Establezca el valor de las variables de usuario TEMP y TMP de la cuenta de inicio de SQL Server en la carpeta Temp recién creada. Para hacerlo, siga estos pasos:
    1. Haga clic en Mi PC y, a continuación, en Propiedades.
    2. Haga clic en la ficha Opciones avanzadas y, a continuación, haga clic en
      Las Variables de entorno.
    3. En la lista de variables de usuario para el Usuario de inicio de sesión , haga clic en TEMPy, a continuación, haga clic en
      Editar.
    4. En el cuadroValor de Variable , escriba
      C:\Temp como la ubicación de la nueva carpeta temporal y, a continuación, haga clic en Aceptar.
    5. Repita los pasos c y d para establecer el valor de la variable TMP .
    6. Haga clic en Aceptar dos veces.
  5. Cierre la sesión y, a continuación, iniciar sesión en el equipo utilizando la cuenta de inicio de SQL Server.
  6. Reinicie los servicios SQL Server.

Referencias

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
296711 PRB: "Error no especificado" Error 7399 utilizar OPENROWSET contra la base de datos Jet
Propiedades

Id. de artículo: 814398 - Última revisión: 17 ene. 2017 - Revisión: 1

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

Comentarios