![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Gracias guillotmarc por tu interes
,Cita:
Cita:
Hice un sencillo ejemplo para que vean de lo que estoy hablando, creo que ya viendo el comportamiento con un ejemplo sera mas facil entender lo que trato de decir, y si alguien da alguna explicacion o otro punto de vista sera bien recibida. Para correr los archivos deben estar instalado los dos drivers de DBExpress - el de UIB y el Default para Interbase-, ademas uso el Employee.gdb que viene con delphi asi que pueden bajarlo o usar el que tengan, solo tiene que estar en el mismo directorio de esta aplicacion. Entre los archivos viene un Readme.txt que explica como usarlos para ver la situacion que comento. Binarios Source code Employee.gdb
__________________
Saludos desde la tierra del tequila y las mujeres hermosas |
|
#2
|
||||
|
||||
|
Hola.
Tienes razón, no se cual puede ser exactamente el problema. Si cambias el código del update para la utilización explícita de una transacción definida manualmente al nivel de ReadCommited, funciona bien : Código:
procedure TForm1.btUIBClick(Sender: TObject); var TD: TTransactionDesc; begin qUIB.CommandText := edSQLCommand.Text; TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; dbUIB.StartTransaction(TD); qUIB.ExecSQL; dbUIB.Commit(TD); end; Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#3
|
|||
|
|||
|
Hola, gracias por responder. Al final decidi crear la aplicacion utilizando DBX en lugar de componentes de acceso nativo a FB/IB.
Ya que el hilo se desvió hacia transacciones en DBX y si el moderador considera que podemos seguir en este hilo o bien se podria abrir otro. Alguien sabe como realizar una transaccion distribuida? No tuve la necesidad de realizar esto, pero probando con los IBX lo podia lograr, y quisiera saber si es posible con los DBX. (Con los IBX, a un objeto transaccion le agregaba objetos base de datos, y ejecutaba sentencias SQL contra diferentes las bases dentro de una misma transaccion). Saludos a todos TJOSE |
|
#4
|
||||
|
||||
|
Hasta donde yo se, no se puede hacer una transacción que implique dos objetos SQLConnection. Este es el problema de usar controles genéricos (dbExpress), que no se pueden usar algunas de las características avanzadas de cada base de datos (eventos del servidor, ...).
Respecto al problema comentado por hecjona, referente al Isolation Level de la transacción, informé al autor de los componentes sobre dicho problema. El autor ya ha actualizado el driver, pero el problema persiste. Vista la celeridad con la que ha actualizado el driver, no creo que tarde mucho en solventarlo. http://www.progdigy.com/boards/index...ST&f=4&t=1464& Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#5
|
||||
|
||||
|
Hola,
Cita:
Saludos. Nota: no moví el hilo a "Conexión con bases de datos" (ya que allí se tratan, en general, los temas de componentes de acceso) debido a que tocaba temas demasiado específicos de InterBase. Si abres un hilo nuevo sobre asuntos genéricos de DBX mejor que sea en aquel foro. |
|
#6
|
||||
|
||||
|
Hola Gydba.
Si te refieres a los datasets obtenidos mediante dbExpress, efectivamente siempre són de solo lectura. Además de no permitir la navegación, són de solo avance, es decir se puede ir al siguiente registro pero nunca al anterior. Por lo que no se puede conectar un dataset obtenido mediante dbExpress a una grid. Esta es la forma como se ha diseñado esta tecnología. Para poder modificar un dataset, u obtener un cursor navegable, tienes que enlazar tu SQLQuery a un ClientDataset mediante un DatasetProvider. El ClientDataset si que permite la modificación y navegación por el dataset. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#7
|
|||
|
|||
|
Gracias guillotmarc, siempre muy completo lo tuyo.
Pero yo me refería a los UIB que traen un componente Dataset propio, pero aparentemente es de solo lectura: Cita:
Por otra parte conozco dbExpress y es una buena alternativa, pero por el momento prefiero componentes nativos en Firebird. Gracias de todas formas
__________________
Suerte .: Gydba :. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|