ERROR AL GRABAR EN TABLAS DE UN LINKED SERVER

01/08/2006 - 19:13 por Microsoft | Informe spam
Hola, tengo una aplicación basada en Access 2003. En esta BD existen tablas
Access nativas y tablas vinculadas a un origen de datos ODBC para acceder a
unos datos COBL de otra aplicación antigua que hay que integrar. Ahora
pretendo migrar mi aplicación de Access a Sql Server Express Edition. Las
tablas Access nativas pasan a tablas nativas de Sql Server sin problemas y
las tablas vinculadas de access pasan a tablas de un "linked server" de Sql
Server.

Las tablas del linked server que acceden a la vieja aplicación mediante ODBC
funcionan perfectamente en cuanto a consultas pero a la hora de grabar en
ellas mediante las sentencias insert y update muestra el error:

"No se pudo realizar la operación solicitada porque el proveedor OLE DB
"MSDASQL" para el servidor vinculado "MI_DATASOURCE_ODBC" no admite la
interfaz de transacción requerida."

Por supuesto la antigua aplicacción que usaba Access grababa en las tablas
vinculadas sin ningún problema. He buscado en foros sobre este problema y
he encontrado otros desarrolladores que han tenido el mismo problema
accediendo a MySQL desde Sql Server a través de los linked server y el
driver ODBC de MySQL, lo que me lleva a pensar que es un problema asociado a
Sql Server más que a un driver concreto de ODBC.

¿Alguien conoce el problema y tiene alguna solución?

Un saludo, gracias.
 

Leer las respuestas

#1 Alejandro Mesa
01/08/2006 - 20:09 | Informe spam
Cuando tratas de grabar en las tablas del servidor ligado (creo que son
archivos COBOL que accesas mediante un driver ODBC), SQL Server arranca una
transaccion distribuida y al parecer el driver que usas para accesar a los
archivos COBOL no soportan este tipo de transaccion. Prueba insertar usando
la funcion OPENROWSET.


AMB

"Microsoft" wrote:

Hola, tengo una aplicación basada en Access 2003. En esta BD existen tablas
Access nativas y tablas vinculadas a un origen de datos ODBC para acceder a
unos datos COBL de otra aplicación antigua que hay que integrar. Ahora
pretendo migrar mi aplicación de Access a Sql Server Express Edition. Las
tablas Access nativas pasan a tablas nativas de Sql Server sin problemas y
las tablas vinculadas de access pasan a tablas de un "linked server" de Sql
Server.

Las tablas del linked server que acceden a la vieja aplicación mediante ODBC
funcionan perfectamente en cuanto a consultas pero a la hora de grabar en
ellas mediante las sentencias insert y update muestra el error:

"No se pudo realizar la operación solicitada porque el proveedor OLE DB
"MSDASQL" para el servidor vinculado "MI_DATASOURCE_ODBC" no admite la
interfaz de transacción requerida."

Por supuesto la antigua aplicacción que usaba Access grababa en las tablas
vinculadas sin ningún problema. He buscado en foros sobre este problema y
he encontrado otros desarrolladores que han tenido el mismo problema
accediendo a MySQL desde Sql Server a través de los linked server y el
driver ODBC de MySQL, lo que me lleva a pensar que es un problema asociado a
Sql Server más que a un driver concreto de ODBC.

¿Alguien conoce el problema y tiene alguna solución?

Un saludo, gracias.



Preguntas similares