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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top