Da wir mit den IBO's (genauer TIBOQuery) an manchen Stellen auf Performance-Probleme stoßen (eine schlichtes Open, welches nur einen Datensatz liefert, dauert schonmal 1 bis 1,5 sekunden), wurde ich erst Heute gefragt ob Zeos eine Alternative ist. Privat habe ich nur positive Erfahrungen gemacht aber wenn es an ein Projekt mit tausend Anwendern geht...
Nehmen wir einmal ich würde mir das Commit-Problem wegfuschen, was wisst ihr noch Positives bzw. Negatives zu berichten?
Mein Fusch-Ansatz:
Delphi-Quellcode:
unit ZDbcInterbase6;
...
procedure TZInterbase6Connection.Commit;
begin
if Closed
then Exit;
if FTrHandle <>
nil then
begin
FPlainDriver.isc_commit_transaction(@FStatusVector, @FTrHandle);
// <- meine Änderung
// FPlainDriver.isc_commit_retaining(@FStatusVector, @FTrHandle); <- alt
CheckInterbase6Error(FPlainDriver, FStatusVector, lcTransaction);
DriverManager.LogMessage(lcTransaction,
FPlainDriver.GetProtocol, '
TRANSACTION COMMIT');
StartTransaction;
// <- meine Änderung
end;
end;
...
Wenn ich mir eine eigene
DB-Treiber-Klasse ableite (und das Rollback entsprechend anpasse), wie sehr wäre mein Ansatz gefuscht?
Ach ja, wir setzen natürlich Firebird ein. In Version 1.5 und D7.