Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi 7 - Nefunkčná transakcia

Chcel by som požiadať niekoho, či by sa mi na to mohol pozrieť. Jedná sa o jednoduchý projekt naprogramovaný len za účelom otestovania transakcií. Problémom ale je, že transakcia prejde bez chyby hoci sa má zrušiť (rollback). Ja potrebujem, aby tá tranakcia bola "vrátená" a prejsť môže až po commite.

No a tiež by som sa chcel spýtať v rámci teórie, že načo je možnosť nastavenia izolácie tranakcie, keď transakcie fungujú len s jedným nastavením a to tiDirtyRead. Je mi jasné o čo ide. Ide o to, že ak sa počas tranakcie upravia nejaké dáta, tak sa dá vybrať, či sa dajú čítať už upravené dáta alebo až do ukončenia transakcie sa budú čítať len pevne uložené dáta mimo transkcie. Toto úzko súvisí s transakciou, lenže transakcie mi nefungujú pokiaľ nenastavím tiDirtyRead. Ostatné možnosti sú akoby zbytočné a toto by som bol rád, keby mi niekto vysvetlil prečo je to tak a ako môžem pri transakcii využiť aj zvyšné nastavenia.

Předmět Autor Datum
Stavis to nad lokalni databazi Paradox a jeste s pouzitim BDE. DBE ti pise, ze transakce nad lokalni…
Jan Fiala 03.06.2013 12:23
Jan Fiala
S Delphi robím dosť málo a s ADO som ešte nič nerobil a nemám s tým ani žiadne skúsenosti. Server pr…
msx. 03.06.2013 14:20
msx.
Lokalni paradox proste neni na trenovani transakci idealni. Pokud pouzijes ADO, zmenis komponen ty n…
Jan Fiala 03.06.2013 18:07
Jan Fiala
Skúšal som hľadať niečo o ADO, ale narazil som len na novší ADO.NET. Bude mi to takto lokálne fungov…
msx. 03.06.2013 18:22
msx.
ADO je v každom Windows. To je výhoda oproti BDE, ktoré musíš nainštalovať... Trápim sa s novým HDD,…
pme 03.06.2013 18:28
pme
Ten lokalni Access by byl pro zacatek lepsi. Transakce si tam muze vyzkouset, muze jej editovat rucn…
Jan Fiala 03.06.2013 18:55
Jan Fiala
Pred rokmi som bol rád, že mi funguje Query a teraz sa dozvedám, že som sa mal radšej učiť robiť s A…
msx. 06.06.2013 11:59
msx.
ADO je hodne podobne, navic je na pocitaci jiz nainstalovano a muzes jej primo vyzivat. BDE zacina b…
Jan Fiala 06.06.2013 12:38
Jan Fiala
Skúsim, potom dám vedieť. Ale pokiaľ by som prišiel na ADO, zistil by som ako je to v Lazarovi a pro… poslední
msx. 07.06.2013 12:58
msx.
Tvoj príklad som podrobne neskúmal, momentálne nemám čas, ale skús pozrieť sem: docwiki.embarcadero.…
pme 03.06.2013 15:03
pme

Stavis to nad lokalni databazi Paradox a jeste s pouzitim BDE.
DBE ti pise, ze transakce nad lokalni databazi jsou povoleny pouze s DirtyRead.

Proc to netestujes proti nejakemu SQL serveru? MS SQL, FireBird, ... Pak by bylo vhodnejsi nechat BDE plavat a sahnout po ADO

S Delphi robím dosť málo a s ADO som ešte nič nerobil a nemám s tým ani žiadne skúsenosti. Server pri aplikácii, ktorú programujem nemá význam.

Čo sa zmení pre mňa, ak použíjem ADO? A čo by som musel zmeniť v aplikácii?

Ale v každom prípade by ma zaujímalo, kde robím chybu, keď mi nefunguje rollback.

ADO je v každom Windows. To je výhoda oproti BDE, ktoré musíš nainštalovať...
Trápim sa s novým HDD, keď skončím, môžem Ti pomôcť (ak chceš...). Mám niekoľko app, ktoré využívajú lokálny súbor mdb (access), ale aj firemnú app s pripojením na MS SQL...

Pred rokmi som bol rád, že mi funguje Query a teraz sa dozvedám, že som sa mal radšej učiť robiť s Accessom? Lenže tam nastanú ďalšie problémy:
- prerobiť celú databázu do ADO
- neautorizovaný prístup do databázy cez Access (teraz je to lepšie, vzhľadom na to, že aj ja mám občas umenie sa do tej databázy mimo Delphi dostať :-D )

Nevadí, v každom prípade sa na to niekedy pozriem. S Delphi robím dosť málo s databázami. V podstate len s touto jedinou aplikáciou a hlavná práca je u mňa v PHP, takže toto je moja okrajová záležitosť a neviem či má význam to celé prepisovať do ADO. No ale do budúcnosti vedieť robiť s ADO môže byť pre mňa dobré.

A tie transakcie teda nepôjdu lokálne s BDE? Teda teraz idú, ale rollback nefunguje. Transakcia prebehne akoby s commitom.

ADO je hodne podobne, navic je na pocitaci jiz nainstalovano a muzes jej primo vyzivat.
BDE zacina byt problematicke, na 64 bitovych strojich na nej musis skoro rucne.

Zkousel jsem ten tvuj priklad a opravdu se to na lokale chovalo podivne. Jeste me napadlo zapnout LocalShare v Paradox ovladaci na true, mozna se to umoudri.

Zpět do poradny Odpovědět na původní otázku Nahoru