VB y Transaccionalidad

06/03/2006 - 21:08 por Matías | Informe spam
Necesito hacer una componente COM+ transaccional debido a que realizo en un
momento la inserción en BD (SQL Server 2000) de muchos registros y deben
quedar todos ok.

He estado trabajando y quede parado en el siguiente error, algun consejo
para resolver el error o hacerlo:
Descripción: [Microsoft][ODBC SQL Server Driver]Error en transacción
distribuida

Preguntas similare

Leer las respuestas

#1 Jose A. Fernandez
06/03/2006 - 21:28 | Informe spam
Matias
Sinceramente te comento mi experiencia en esto de COM+...
Hace varios años intente realizar un componente que se aloje en el MTS
(el servidor de componentes) para que este servidor maneje las
TRANSACCION de mi componente hacia otros componentes, filesystem, y a
la misma base de datos sin tener que realizarlo en el CODIGO, para esto
en las propiedades de mi componente tenia que colocar que sea
"transaccional".. todo bien hasta ese momento pero cuando requieria
cambiar y tester sobre el MTS nesitaba configurar permisos y otras
cosas que la verdad no me facilitaron la vida, y ni hablar de
Trasacciones distribuidas con MTS..
Al final decidi realizarlo desde un componmente de acceso a datos que
cada vez que requiere una trasaccion lo abro con ADO BeginTrnas,
CommitTrans y RollBackTrans, este componente que realizamos con los
chicos que trabajamos lo fuimos prefeccionando para encapsular ADO a
nuestros conveniencia para codificar tanto en VB como en ASP (con
vbscript)
Bueno te invito a que leas los news de este tema
http://groups.google.com.ar/group/m...este+grupo


Igualmente creo que estos enlaces te puede servir:
http://msdn.microsoft.com/msdnmag/i...0/Serving/
http://support.microsoft.com/defaul...s%3B299638
Respuesta Responder a este mensaje
#2 Jose A. Fernandez
06/03/2006 - 21:28 | Informe spam
Matias
Sinceramente te comento mi experiencia en esto de COM+...
Hace varios años intente realizar un componente que se aloje en el MTS
(el servidor de componentes) para que este servidor maneje las
TRANSACCION de mi componente hacia otros componentes, filesystem, y a
la misma base de datos sin tener que realizarlo en el CODIGO, para esto
en las propiedades de mi componente tenia que colocar que sea
"transaccional".. todo bien hasta ese momento pero cuando requieria
cambiar y tester sobre el MTS nesitaba configurar permisos y otras
cosas que la verdad no me facilitaron la vida, y ni hablar de
Trasacciones distribuidas con MTS..
Al final decidi realizarlo desde un componmente de acceso a datos que
cada vez que requiere una trasaccion lo abro con ADO BeginTrnas,
CommitTrans y RollBackTrans, este componente que realizamos con los
chicos que trabajamos lo fuimos prefeccionando para encapsular ADO a
nuestros conveniencia para codificar tanto en VB como en ASP (con
vbscript)
Bueno te invito a que leas los news de este tema
http://groups.google.com.ar/group/m...este+grupo


Igualmente creo que estos enlaces te puede servir:
http://msdn.microsoft.com/msdnmag/i...0/Serving/
http://support.microsoft.com/defaul...s%3B299638
Respuesta Responder a este mensaje
#3 Lluís Franco
07/03/2006 - 08:35 | Informe spam
:-)
Hola Matías,

Si solo necesitas insertar muchos registros en un entorno de BD SQL Server
2000 no necesitas COM+, basta con incocar el método "BeginTrans" de tu
objeto "ADODB.Connection" antes de comenzar el proceso, y posteriormente
"CommitTrans" o "RollbackTrans" en caso de éxito o de error.

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://www.uyssoft.com
Blog: http://msmvps.com/lfranco
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
Respuesta Responder a este mensaje
#4 Lluís Franco
07/03/2006 - 08:35 | Informe spam
:-)
Hola Matías,

Si solo necesitas insertar muchos registros en un entorno de BD SQL Server
2000 no necesitas COM+, basta con incocar el método "BeginTrans" de tu
objeto "ADODB.Connection" antes de comenzar el proceso, y posteriormente
"CommitTrans" o "RollbackTrans" en caso de éxito o de error.

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://www.uyssoft.com
Blog: http://msmvps.com/lfranco
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho
Respuesta Responder a este mensaje
#5 Matías
07/03/2006 - 12:57 | Informe spam
Sip, es una alternativa, el problema radica en que las inserciones las hacen
distintas dllsque tienen acceso a BD, yo debo acceder a traves de ellas.

Gracias de todas formas.


"Lluís Franco" escribió en el mensaje
news:

:-)
Hola Matías,

Si solo necesitas insertar muchos registros en un entorno de BD SQL Server
2000 no necesitas COM+, basta con incocar el método "BeginTrans" de tu
objeto "ADODB.Connection" antes de comenzar el proceso, y posteriormente
"CommitTrans" o "RollbackTrans" en caso de éxito o de error.

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://www.uyssoft.com
Blog: http://msmvps.com/lfranco
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profileaa1615-1a2f-4202-bc3f-aec297d967d2
This posting is provided "AS IS" with no warranties, and confers no
rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida