FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Y sí. Firebird hace de manera automática la transacción. Por lo cual, al final de tu consulta deberías hacer un Commit, o un Rollback.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
||||
|
||||
Cita:
La propiedad "DefaultAction" del componente TIBTransaction. |
#3
|
||||
|
||||
Cita:
Cita:
Que FB lo haga implícitamente es una decisión interna, pero entiendo que a nivel general un usuario no debe usar transacciones para SELECT. Esto me parece la excepción dentro de los SGBD's. ¿no?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Por supuesto que no necesita usarlas.
|
#5
|
|||
|
|||
Buenas a todos, y gracias de antemano.
Retomo este asunto porque no me queda nada claro como se puede hacer esto. He leido, he remirado y he visto videos tostonazos en youtube, pero al final nada de nada. Tengo realizada al 99% una apicación Cliente - Servidor. Y no he utilizado nunca en toda la aplicación expresamente las transacciones y me hubiera gustado, pero no he sabido en que momento utilizarlas. Mi aplicación funciona aproximadamente de la siguiente forma: Para dar de alta a un proveedor llamo a un una función como por ejemplo: resultado:= funcion.altaProveedor(nombre, apellidos, nif, domicilio. .... etc.); // esta función está dada de alta en la parte del servidor. if resultado = true / todo correcto se ha grabado bien. else "Error a la hora de grabar". resultado := funcion.grabarOtraCosa(m, n, o,p); if resultado = true // todo ok else // error. ¿Donde pongo el "startTransaction" para hacer el commit o el rollback? Ademas la cosa se complica, cuando esa operación anterior se realiza con muchas más tablas que deben ser todas modificadas, y si falla la grabación de una, la liamos parda. Cada vez que utiizo una función (de las anteriores), modifica la base de datos de forma instantanea, sin posibilidad de hace rollback. Espero que se me entienda, lo que pretendo es asegurar la integridad de los datos, pero con las funciones que utilizo, una detras de otra, puede darse el caso que alguna falle y eso... la liemos. Alguna sugerencia de como poder utilizar las transacciones aquí. Gracias. NOTA: Es un aplicación DATASNAP, firebird y con delphi "Berlin". |
#6
|
||||
|
||||
Echa un vistazo a esto.
|
#7
|
|||
|
|||
Gracias a todos por vuestra paciencia.
Retomo este tema porque aún no lo tengo claro. Supongo que vuestras aclaraciones son buenas cuando la aplicación no es DATASNAP, es decir Cliente - Servidor y todos los componentes están accesibles, pero en mi caso no están accesible. Me surge la siguiente duda: - El control de las transacciones las hago desde el Cliente supongo, y no desde el Servidor. Y si las tengo que hacer desde el Cliente tengo que insertar en el formulario(donde realizo una llamada a una función de alta que se ejecuta en el servidor),un componente TFDTransaction y aquí viene el problema, ¿como le digo a este componente que se conecte con el componente de "TFDConnection" que está en el "formulario ServerMethods1" del programa SERVIDOR. Perdonad que siga insitiendo, pero hasta que no resuelva este asunto no puedo seguir programando puesto que veo un riesgo muy alto introducir datos desde distintos terminales que tocan varias tablas sin realizar transacciones para asegurar la información. Gracias de antemano a todos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda existencial | rm_machado | Tablas planas | 5 | 03-03-2009 06:17:09 |
Ayuda con duda existencial | poliburro | La Taberna | 19 | 30-07-2007 09:30:39 |
Duda existencial | MaMu | OOP | 3 | 27-09-2006 15:37:40 |
duda existencial | nightynvid | La Taberna | 2 | 05-09-2006 14:12:20 |
Duda Existencial (datamodule) | vipernet | Conexión con bases de datos | 5 | 08-06-2006 20:15:30 |
|