Delphi 6 -> Delphi 2006 dbexpress Seltsamkeit?
-
20-09-2019 - |
Frage
Ich habe eine ältere Anwendung (geschrieben in Delphi 6), die mit Delphi 2006 (Update 2) portiert werden muss. Die Anwendung verwendet, um eine Interbase 6.x-Datenbank zu verbinden DBExpress verwenden, aber die neue Version Bedürfnisse einer Firebird 2.x Superserver zu verbinden.
Portierungs ging in Ordnung, keine wirklichen Probleme. Aber jetzt, wenn ich versuche, auf den neuen Firebird Server von der portierten Anwendung zu verbinden, ich die folgende Fehlermeldung erhalten:
Datenbankfehler Datenbank-Server-Fehler: keine aktuellen Datensatz für Abrufoperation
Ausführen der gleichen Anwendung kompiliert mit Delphi 6, im Gespräch mit der gleichen Firebird Server läuft gut. Die Änderungen erforderlich, um die App in Delphi 2006 zu kompilieren, wurden in die Datenbank-Code nicht in Verbindung stehend - alle lokalen Bibliothek Sachen. Die Anwendung verwendet TSQLDataSet en datasetproviders und clientdatasets.
Wer hat eine Ahnung, wie oder warum? Alle Änderungen an DBExpress das könnte dieses Verhalten verursachen? Danke.
Lösung
Ich glaube nicht, Delphi 2006 unterstützt Firebird nativ. Denken Sie FIBPlus installieren müssen
Heres eine Liste von dem, was in Delphi 2006 unterstützt:
Old driver New driver Database and Version
dbexpinf.dll dbxinf30.dll Interbase 7.5
dbexpora.dll dbxora30.dll Oracle 10g
dbexpdb2.dll dbxdb230.dll db2 UDB 8.x
dbexpmss.dll dbxmss30.dll MSSQL 2000
dbexpmys.dll dbxmys30.dll MySQL 4.0.24
dbexpasa.dll dbxasa30.dll Adaptive Sybase Anywhere 9
dbexpase.dll dbxase30.dll Sybase 12.5
dbexpinf.dll dbxinf30.dll Informix 9.x
Heraus von Hier
Andere Tipps
bis Delphi 2010 , die in DBExpress Treiber gebaut offiziell nie Firebird unterstützt.
In der Praxis nie viele Kombinationen überhaupt gearbeitet.
Entweder:
- gehen für einen DBExpress Treiber offiziell unterstützt Firebird ( Google-Suche ),
- oder Umzug in eine andere Datenbank Mittelschicht (FIBPlus dass James schon sagt ist wirklich gut).
- jeroen
Zunächst einmal wiederholen Sie die gleichen Schritte von einem neuen, 1-Form app (Put SQLConnection-, SQLQuery etc etc), Füllung mit dem SQL Sie wollen und versuchen, zu verbinden.
Ich glaube, es gibt einige Verbindungsparameter, dass zwischen den Versionen geändert, da ich D2006 dbexpress den Zugriff auf Firebird 2.x mit Erfolg verwendet haben. Aber die Anwendung wurden nicht portiert, aber neue Projekte.