[csharp-l] Error con procedimiento almacenado remoto

109 views
Skip to first unread message

Lucila Baratçabal

unread,
Feb 15, 2007, 9:31:26 AM2/15/07
to inter...@gxtech.com.uy, csha...@gxtech.com.uy
Hola Foro,
tengo el siguiente problema, en una aplicacion web (GX 90, SQL Server 2000, .NET) desde un web panel invoco a un
procedimiento almacenado que se encuentra en la bd de la aplicacion. Este procedimiento a su vez invoca a otro procedimiento almacenado que se encuentra en un servidor remoto. Esto al ejecutarlo desde sql funciona correctamente, pero al ejecutar desde genexus
me da el siguiente error: 'MSDTC no está disponible en el servidor'.
Alguien tiene idea de que puede ser?
gracias de antemano, saludos,
 
Lucila

Enrique Almeida

unread,
Feb 15, 2007, 11:50:51 AM2/15/07
to csha...@gxtech.com.uy
MSDTC es el Microsoft Distributed Transaction Coordinator.
Es un programa que te permite coordinar transacciones que ocurren en
mas de un servidor y maneja el Two face commits y esas cosas.

Recuerdo que en algun momento me dio ese error, pero no recuerdo bien
como lo solucione :(, pero se que se soluciono.

Fijate si tenes todos los servidores registrados en tu SQL server local.

El 15/02/07, Lucila Baratçabal <lucilaba...@gmail.com> escribió:


--
Saludos,
Enrique Almeida
Concepto
http://ealmeida.blogspot.com/

-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,11
Por consultas owner-c...@gxtech.com.uy

Leandro Minatel

unread,
Feb 15, 2007, 11:55:06 AM2/15/07
to csha...@gxtech.com.uy
MSDTC - MicroSoft Distributed Transaction Coordinator. Es un servicio de Windows para las aplicaciones que necesiten "coordinación". El servidor web es el mismo que uno de los SQL? Fijate que el servicio MSDTC o "Distributed Transaction Coordinator" este levantado en todos los servidores involucrados y me arriesgaría a decir que en los no involucrados también y los que no compraste aún... perdón....
--
-------------------------------------------------------
lmm

Gabriel Gramajo

unread,
Feb 15, 2007, 3:42:20 PM2/15/07
to csha...@gxtech.com.uy
OJO !!! Estoy adivinando aqui, pero por cuestiones similares intentaria ver que tipos de permisos tiene el usuario ASPNET para correr este tipo de consultas a traves de IIS -> SQLSERVER1 -> SQLSERVER2

Repito es una suposicion basado en que muchas veces a ASPNET le tenemos que dar permisos hasta para generar archivos en el folder de la webapp.

Gabriel.

________________________________

winmail.dat

Leandro Minatel

unread,
Feb 15, 2007, 6:29:22 PM2/15/07
to csha...@gxtech.com.uy
El usuario ASPNET no se utiliza pata conectarse al SQLServer, o por lo menos no deberia, se utiliza para ejecutar los procesos del net framework.
--
-------------------------------------------------------
lmm

Gabriel Gramajo

unread,
Feb 15, 2007, 7:53:46 PM2/15/07
to csha...@gxtech.com.uy
Gracias por el aporte. Por eso decia que estaba adivinando :)

Gracias de nuevo,

Gabriel.

________________________________

winmail.dat

Pablo Piazza

unread,
Feb 16, 2007, 7:20:28 AM2/16/07
to csha...@gxtech.com.uy
Les comento algo, este error se da por dos razones; los Servidores SQL
Server 2000 tienen un servicio que se llama MSDTC ( es el coordinador de
transacciones distribuidas entre servidores remotos ).
Cuando uno ejecuta una consulta desde el query analizer no se da el error
que comenta Enrique por que no se utilizan transacciones, pero si en el
query analizer utilizamos la siguiente sentencia:

begin tran
update tabla1 set c1 = 1 ---esto actualiza registros en el servidor al que
estoy conectado.
update [SRV-REMOTO].DataBase1.Tabla1 set c1 = 1 -- esto actualiza registros
en una tabla de un servidor remoto.
commit

Esta sentencia debería dar el error que le da a Enrique.
Genexus con cada TRN, o procedure, utiliza estas sentencias BEGIN TRAN y
COMMIT TRAN. Es por eso que al quere llamar al Stored procedure remoto tirar
el error que el servicio MSDTC no esta funcionado.
Enrique deberias investigar este tema con tu DBA, o la gente que maneje
ambos servidores de SQL.

Saludos.
Suerte.!



_____

De: Gabriel Gramajo [mailto:Ga...@1800radiator.com]
Enviado el: Jueves, 15 de Febrero de 2007 09:54 p.m.
Para: csha...@gxtech.com.uy
Asunto: [Bulk] RE: [csharp-l] Error con procedimiento almacenado remoto


Gracias por el aporte. Por eso decia que estaba adivinando :)

Gracias de nuevo,

Gabriel.

_____

From: Leandro Minatel [mailto:leandro...@gmail.com]

Gabriel.

________________________________

<mailto:owner-c...@gxtech.com.uy>

winmail.dat
Reply all
Reply to author
Forward
0 new messages