Como ejecutar una transcion Cursor Adapter con ado y SPT

31/07/2004 - 02:25 por Mauricio Pulla B. | Informe spam
Hola

No tengo experiencia en CursorAdapter con Ado apuntando a Sql server
Revise el ejemplo de José G. Samper, sobre como trabajar en forma
desconectada con cursor adapter, ado y Ms SqlServe. excelente pero tengo
algunas dudas.

1) Se pueden compartir varios CA un mismo obejto Connection
Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
Thisform.CA2.ActiveConnection = Thisform.oADOConnection

2) Se puede compartir el objeto connection de varios CAs con SPT para
ejecutar una transaccion
Ej: nConnectionHandle = Thisform.oADOConnection &&Asumo que esto
me daria el manejador
SQLSETPROP(nConnectionHandle, "Transactions", 2)
llSuccess = TABLEUPDATE(.T., .F., CA1)
if llSuccess
llSuccess = TABLEUPDATE(.T., .F., CA2)
if llSuccess
llSuccess=SqlExec(nConnectionHandle, cSQLCommand) > 0
if llSuccess
SQLCOMMIT(nConnectionHandle)
return llSuccess
endif
endif
endif
=SQLROLLBACK(nConnectionHandle)
&&Detecto error
*-Si esta no es la forma de hacer una transccion de CAs con SPT con una
misma conneccion como hacerlo.

3) En caso de estar correcta la pregunta 2 seria correcto ejecutar el codigo
en un try cath

4) En el SP1 de VFP8.0 se corrgio el error que al hacer un Tableupdate()
siempre devolvia .T. pese a existir errores.

5) Cual seria la mejor estrategia para que la aplicacion corriera en una LAN
como en Una WAN tomando en cuenta que se trabajaria con W2000 Server, SQL
Server, CAs + Ado.

6) Cuando se tratara de una red WAN como cual seria la mejor forma de
conectar una sucursal distante con el servidor, y cual seria los equipos
requeridos.

Siempre e desarrollado aplicaciones para redes LAN y no tengo la menor idea
para que trabajen en una WAN..!

Saludos,
Mauricio Pulla.
Cuenca-Ecuador.

Preguntas similare

Leer las respuestas

#1 José G. Samper
31/07/2004 - 15:12 | Informe spam
Hola como estas,

1) Se pueden compartir varios CA un mismo obejto Connection
Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
Thisform.CA2.ActiveConnection = Thisform.oADOConnection

Sip


2) Se puede compartir el objeto connection de varios CAs con SPT para
ejecutar una transaccion
Ej: nConnectionHandle = Thisform.oADOConnection &&Asumo que
esto me daria el manejador
SQLSETPROP(nConnectionHandle, "Transactions", 2)
llSuccess = TABLEUPDATE(.T., .F., CA1)
if llSuccess
llSuccess = TABLEUPDATE(.T., .F., CA2)
if llSuccess
llSuccess=SqlExec(nConnectionHandle, cSQLCommand) > 0
if llSuccess
SQLCOMMIT(nConnectionHandle)
return llSuccess
endif
endif
endif
=SQLROLLBACK(nConnectionHandle)
&&Detecto error
*-Si esta no es la forma de hacer una transccion de CAs con SPT con una
misma conneccion como hacerlo.

Jamas lo he probado de esta forma, asi que realmente no te puedo decir si
funciona o no, cuando yo tuve que imprementar transacciones lo hice contra
la conexión, eje:
Thisform.oADOConnection.BeginTrans()
Thisform.oADOConnection.RollbackTrans()
Thisform.oADOConnection.CommitTrans()

en en cuenta que debes estar en transacciones lo menos posible, y solo
debes usar este sistema cuando vayas a actualizar mas de una tabla o mas de
un registro y quieras reversar todo. Por que MS SQL es transacional por
definición, o sea que si solo vas a actualizar una tabla y un registro el ya
abre una transacción

3) En caso de estar correcta la pregunta 2 seria correcto ejecutar el codigo
en un try cath

Sip

4) En el SP1 de VFP8.0 se corrgio el error que al hacer un Tableupdate()
siempre devolvia .T. pese a existir errores.

Nop, por lo menos a mi siempre me devuelve .T., lo trato de solventar
haciendo un go(recno()) despues del tableupdate esto hace que al tratar de
moverse dispare e excepcion



José G. Samper

"Mauricio Pulla B." escribió en el mensaje
news:
Mostrar la cita
esto
Mostrar la cita
codigo
Mostrar la cita
LAN
Mostrar la cita
idea
Mostrar la cita
#2 Mauricio Pulla B.
02/08/2004 - 16:16 | Informe spam
Gracias José.
Esta seria la forma correcta.
Thisform.oADOConnection.BeginTrans()
Thisform.oADOConnection.RollbackTrans()
Thisform.oADOConnection.CommitTrans()

Como lo haria si es que necesito implementar SPT dentro de la transaccion ?

Vamos a ver que como me trata CA, ADO, SQL


Nuevamente Gracias por tu ayuda.
Saludos,
Mauricio Pulla.
Cuenca-Ecuador.

"José G. Samper" escribió en el mensaje
news:
Mostrar la cita
si
Mostrar la cita
de
Mostrar la cita
ya
Mostrar la cita
codigo
Mostrar la cita
una
Mostrar la cita
SQL
Mostrar la cita
#3 José G. Samper
02/08/2004 - 22:52 | Informe spam
Hola como estas, exactamente que quieres hacer?.

Saludos,

José G. Samper
MCP 70-229/70-316

"Mauricio Pulla B." escribió en el mensaje
news:%
Mostrar la cita
?
Mostrar la cita
una
Mostrar la cita
decir
Mostrar la cita
contra
Mostrar la cita
el
Mostrar la cita
Tableupdate()
Mostrar la cita
solventar
Mostrar la cita
de
Mostrar la cita
tengo
Mostrar la cita
que
Mostrar la cita
Tableupdate()
Mostrar la cita
una
Mostrar la cita
equipos
Mostrar la cita
#4 Mauricio Pulla B.
03/08/2004 - 16:34 | Informe spam
Hola José G.
Gracias por tu tiempo.

Necesito hacer una transaccion con Cursor Adapter (Ado apuntando SQL Server
2000) ademas actualizar varias tablas.
Ej. Facturación
*Metodo Grabar
Transcaccion
Obtener el siguiente Numero secuencial
TableUpdate(CA_Cabecera)
TableUpdate(CA_Detalle)
Actualizar items
Actualizar saldo de cliente
Actualizar numero secuencial
EndTransction
* Como realizo este proceso en una transaccion o en varias transacciones
José si me puedes ayudar con un poco de codigo lo analizo y lo adapto o mis
necesidades

W2000 Pro, VFP 8.0 SP1
Saludos.
Mauricio Pulla.
Cuenca-Ecuador

"José G. Samper" escribió en el mensaje
news:
Mostrar la cita
transaccion
Mostrar la cita
que
Mostrar la cita
solo
Mostrar la cita
mas
Mostrar la cita
por
Mostrar la cita
tratar
Mostrar la cita
para
Mostrar la cita
0
Mostrar la cita
con
Mostrar la cita
el
Mostrar la cita
Server,
Mostrar la cita
de
Mostrar la cita
menor
Mostrar la cita
#5 Mauricio Pulla B.
05/08/2004 - 19:21 | Informe spam
Hola José
Me puedes dar una guia de como poder hacer este tipo de proceso.
Saludos.
Mauricio Pulla.
Cuenca-Ecuador

"Mauricio Pulla B." escribió en el mensaje
news:
Mostrar la cita
Server
Mostrar la cita
mis
Mostrar la cita
para
Mostrar la cita
0
Mostrar la cita
con
Mostrar la cita
registro
Mostrar la cita
l
Mostrar la cita
server
Mostrar la cita
&&Asumo
Mostrar la cita
en
Mostrar la cita
Ads by Google
Search Busqueda sugerida