Skip to content

Error al vincular Base de Datos SQL SERVER con ACCESS

November 22, 2013

Para poder ligar un software propietario de gestión de Nóminas con las aplicaciones de la empresa en la que trabajo, tuvimos que hacer un sistema para cojer datos de una Base Access, previamente exportada desde dicho software propietario a .mdb.

Seguidamente a través de una consulta de inserción, se insertan datos de la tabla ACCESS a SQL Server, con  la instrucción:

INSERT INTO TABLA_SQLServer (campo, campo2)
SELECT campo, campo2
FROM OPENROWSET(‘Microsoft.Jet.OLEDB.4.0’,
‘\RUTA\Fichero.MDB’;’admin’;”, xxxxx)

Todo funcionó perfecto hasta que tuvimos que pasar de un motor SQL SERVER 2000 32 bits a otro con SQL SERVER 2012 a 64 bits.

El error devuelto es algo así como que no se puede crear una instáncia de ‘Microsoft.Jet.OLEDB.4.0’.

La solución que me ha funcionado consiste de 3 pasos:

1. Instalación en el servidor de BD SQL Server 2012 64bits, los drivers de acceso a Office para 64 bits: AccessDataBaseEngineX64

2. En Objectos de Servidor / Propiedades,  se activan todas las opciones en el servidor Microsoft.ACE.OLEDB.12.0

3. Se cambia la consulta anterior por la que sigue:

INSERT INTO TABLA_SQLServer (campo, campo2)
SELECT campo, campo2
FROM OPENROWSET(‘Microsoft.ACE.OLEDB.12.0’,
‘\RUTA\Fichero.MDB’;’admin’;”, xxxxx)

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: