2011-11-16 42 views
10

Esto no es una pregunta, pero esta publicación puede ser útil para la comunidad porque no pude encontrar la respuesta en Internet.Error al consultar el proveedor "Microsoft.ACE.OLEDB.12.0" de SQL Server

probado en

  • Windows 2008 R2 x64 y x64 de Windows 2003
  • SQL Server 2008 SP3 x64
  • Microsoft.ACE.OLEDB.12.0 Proveedor x64

SQL Server se ejecuta bajo una cuenta de dominio que no es administrador de la máquina local. La autenticación de conexión del Servidor SQL es Windows.

La cuestión es:

al crear y utilizar un servidor vinculado o consultas ad-hoc utilizando este proveedor, puede recibir errores como estos:

proveedor de

OLE DB "MSDASQL" para el servidor vinculado "xxx "mensaje devuelto" [Microsoft] [Administrador de controladores ODBC] Error SQLSetConnectAttr del controlador "

Proveedor OLE DB" MSDASQL "para el servidor vinculado" xxx "devolvió el mensaje" [Microsoft] [controlador dBASE ODBC] Se interrumpió el acceso a su red. continuar, cerrar la base de datos y luego abrirla de nuevo .

no puede inicializar el objeto de origen de datos del proveedor OLE DB "MSDASQL" para el servidor vinculado "XXX"

mensaje

No se pudo encontrar ISAM instalable

proveedor de

OLE DB "MSDASQL" para el servidor vinculado "XXX" devolvió "[Microsoft] [ODBC dBASE Driver] error general No se puede abrir la clave de registro temporal (volátil) Ace DSN para hilo proceso 0x16f4 0x2728 DBC 0x1ce64ae8 Xbase'

la razón es que el proveedor crea un archivo temporal en el servidor de SQL cuenta temporal de dominio fo lder, usando las credenciales de conexión del usuario. Los usuarios ordinarios no tienen tales permisos.

+0

El servidor Sql se ejecuta bajo una cuenta de dominio, que no se usa para iniciar sesión en esa máquina. Por favor aclara esto. –

Respuesta

1

La solución es
subvención permiso "Modificar" para los usuarios de SQL Server en la carpeta temporal del dominio de cuentas de SQL Server. Esta carpeta normalmente es

  • Windows 2003: "C: \ Documents and Settings \ sql_server_account_name \ Local Settings \ Temp \"
  • Windows 2008: "C: \ Users \ sql_server_account_name \ AppData \ Local \ Temp \ "
+0

Moví la solución que Boogier había publicado originalmente como parte de su pregunta. Hizo CW para no obtener una representación indebida. –

Cuestiones relacionadas