Databáze > MySQL

Firedac Query nezobrazí aktualizovaná data

<< < (2/2)

rholecek:
To plně chápu, ale mám např. tento stav:
1. PC:
Query: SELECT * FROM zapujcka WHERE vraceno = 'N' a vybere mi to všechny dosud nevrácené věci

2. PC:
start transaction;
UPDATE zapujcka SET vraceno = 'A' WHERE id_zapujka = 10;
commit; (že proběhl commit mám potvrzený z logu na serveru i kontrolním selectem na serveru)

Tak po téhle operaci by první PC při opětovném spuštění SQLka neměl zobrazit řádek s ID = 10. Bohužel stále ale zobrazuje řádek s ID = 10, i když je už v DB vraceno = 'A'. Takže je otázkou, kde hledat zakopaného psa - proč se aplikace nedozví o změně dat - je to chyba aplikace, mysql.dll nebo serveru?
Proto ta volba xiDirtyread a snad se mi to podaří v budoucnu opravit.

vandrovnik:
Nevím, jestli to funguje i pro MySQL, ale třeba na Firebirdu by tahle situace mohla vzniknout tím, že se pro čtení z databáze použije transakce typu "snapshot" a pro znovu-načtení dat se nezahájí nová transakce.

Navigace

[0] Seznam témat

[*] Předchozí strana

Přejít na plnou verzi