SQL Server - Problema con transacciones distribuidas

 
Vista:
sin imagen de perfil

Problema con transacciones distribuidas

Publicado por brayan (1 intervención) el 24/07/2014 22:30:52
Buenas ,
Tengo un problema al realizar una transacción desde mi servidor SQL a un servidor vinculado OLE DB "MSDASQL" ( esta conectado a un servidor MySql), el tema es que al realizar un UPDATE/DELETE/INSERT no me deja, ya que el proveedor OLE DB no puedo iniciar una transacción distribuida. Les muestro un fragmento de prueba :

--------------------------------------------------------------------------------------------------------------------------
BEGIN TRANSACTION / BEGIN DISTRIBUTED TRANSACTION
BEGIN TRY

select top 10 *into #temp from sales_entidades

delete openquery(conexiomysql,'select * from santa_ana.cliente')
where cod_entidad in (select cod_entidad from #temp )


print 'Transaccion completada correctamente'

COMMIT TRANSACTION
END TRY
BEGIN CATCH

print ISNULL(ERROR_MESSAGE(),'')
ROLLBACK TRANSACTION

END CATCH

Mensaje : No se pudo realizar la operación porque el proveedor OLE DB "MSDASQL" del servidor vinculado "conexiomysql" no pudo iniciar una transacción distribuida.
--------------------------------------------------------------------------------------------------------------------------
Como verán, estoy usando openquery, y el nombre de mi servidor vinculado es "conexiomysql".

Cabo recalcar lo siguiente:
1. He configurado el servicio de transacciones de windows , el MSTDC en el servicio de componentes
2. El servidor de SQL y MySQL estan en mi propia PC, por lo que la configuración del MSTDC afecto a los 2 servidores

Bastando la redundancia, este error aparece al poner las clausula TRANSACTION, ya que sin ella no tengo problema alguno, pero por cuestión de perfomace, hay que ver la integridad de la data. Si en caso hay un solución a este problema o exista otra manera de pasar datos del SQL servor a MYSQL, seria de gran ayuda.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problema con transacciones distribuidas

Publicado por Isaias (4558 intervenciones) el 24/07/2014 23:31:12
http://support.microsoft.com/kb/816701/es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con transacciones distribuidas

Publicado por Eduardo Navarro Escobar (1 intervención) el 05/12/2014 01:34:03
Hola!!

Yo tengo el mismo problema, mi idea original era crear un disparador que me actualizara información en linea de mi servidor MSSQL a mi servidor MySQL, pero igual me manda el error de que no soporta transacciones distribuidas a travez del ODBC, he lehido bastante documentación y en todos lados indica que el Driver del ODBC que establece la comunicación entre ambos servidores no soporta transacciones distribuidas. Hasta donde se solo puedes establecer comunicación entre servidores MSSQL y MySQL haciendo uso de Linked Services mediante ODBCs.

La solución que tuve que plantear para mi problema fue crear un job que se ejecutara periodicamente para mantener actualizada la información.

No creo que este problema tenga solución, pero si la llegase a tener que lo dudo y lo encuentras por favor compartelo.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con transacciones distribuidas

Publicado por Jose Rico (1 intervención) el 26/03/2015 01:27:37
Yo lo que hice fue una copia de la otra tabla en mi BD Local, y grabé ahi, con un trigger que se llevara esos datos al otro servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con transacciones distribuidas

Publicado por Romny (1 intervención) el 12/04/2016 00:03:58
Como seria la estructura del job
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar