Delphi5: Fehler bei DB-Entwicklung

Wenn ich in der Entwicklungsumgebung von Delphi5 ein TTable-Objekt einbaue und deren Eigenschaften folgendermassen einstelle:

TTable.DatabaseName: MS Access97-Datenbank
TTable.Active: True

dann folgt nach dem Datenbank-Login (läßt sich das übrigens abschalten?) eine Mischmasch-Meldung als „Datenbank-Engine-Fehler“, die wie folgt lautet:

===================================
Indexfehler
[Microsoft][ODBC Microsoft Access97-Treiber] Allgemeiner Fehler. Nicht gen#gend
Information, um diesen DSN mit SQLConnect
Allgemeiner SQL-Fehler
eine Verbindung herzustellen. SQLDriverConnect verwenden?
Alias: MS Access97-Datenbank

Offenbar handelt es sich dabei um drei Fehlerangaben, die irgendwie vermischt wurden, denn greife ich von der BDE-Verwaltung aus auf die Access-Datenbank zu, kommt nach dem Datenbank-Login wieder eine Fehlermeldung, allerdings mit den drei Details:

===================================
BDE-Fehler: 9729 [$26][$1]
„Indexfehler“

BDE-Fehler: 13059 [$33][$3]
Server-Fehler: 51
„[Microsoft][ODBC Microsoft Access97-Treiber] Allgemeiner Fehler. Nicht gen#gend Information, um diesen DSN mit SQLConnect eine Verbindung herzustellen. SQLDriverConnect verwenden?“

BDE-Fehler: 9729 [$26][$1]
„Alias: MS Access97-Datenbank“

Die Delphi-Installation ist bluetenrein und ohne Fehler abgeschlossen worden. Trotzdem treten aehnliche Fehlermeldung auch bei anderen Datenbankfunktionen (z.B. mit Exceltabellen) auf, was natuerlich auf Probleme mit den Microsoft-Daten schliessen lassen koennte.

Wie laesst sich dieser Fehler beheben?
Und ganz nebenbei: Laesst sich das Fenster „Datenbank-Login“ nicht irgendwie unterdruecken?
C.

Hi,
das sieht ganz so aus, als ob mit Deinen ODBC-Datenquellen etwas nicht stimmt. Schau doch mal unter Systemsteuerung/ODBC Data Sources nach, ob Du bei dem MS Access97 Eintrag dort eine Verbindung zustande kriegst (Schalter Verbindung testen) bzw. ob alle benötigten Informationen und Einstellungen korrekt sind.

Der Datenbank Login Dialog läßt sich vermeiden, indem Du eine TDatabase-Komponente verwendest, die auf den entsprechenden Alias einstellt und die Eigenschaft „Loginprompt“ auf False setzt. Das TTable Objekt wird dann mit dieser Database verbunden. Die Logininformationen kannst Du dieser Komponente dann in der Eigenschaft „Params“ übergeben - sie macht dann den Login für Dich…

Viel Glück, Thomas

Delphi5: Fehler bei DB-Entwicklung

das sieht ganz so aus, als ob mit Deinen
ODBC-Datenquellen etwas nicht stimmt.
Schau doch mal unter Systemsteuerung/ODBC
Data Sources nach, ob Du bei dem MS
Access97 Eintrag dort eine Verbindung
zustande kriegst (Schalter Verbindung
testen) bzw. ob alle benötigten
Informationen und Einstellungen korrekt
sind.

Schater „Verbindung testen“ habe ich nicht. Liegt vielleicht daran, dass ich Win95 habe. Ansonsten sieht dort alles funktionstuechtig aus. Muss denn die Bezeichnung der Datenbanken bei den ODBC-Einstellungen identisch zu denen in Delphi sein? Das sind sie naemlich nicht. Bei Delphi steht z.B. die Versionsnummer von Access (97) mit drin, bei der Systemsteuerung unter ODBC aber nicht.

C.

Schater „Verbindung testen“ habe ich
nicht. Liegt vielleicht daran, dass ich
Win95 habe. Ansonsten sieht dort alles
funktionstuechtig aus. Muss denn die
Bezeichnung der Datenbanken bei den
ODBC-Einstellungen identisch zu denen in
Delphi sein? Das sind sie naemlich nicht.
Bei Delphi steht z.B. die Versionsnummer
von Access (97) mit drin, bei der
Systemsteuerung unter ODBC aber nicht.

C.

Hi,
Delphi zeigt bei „Databasename“ die in der BDE angelegten Aliase an, die Namen müssen also nicht übereinstimmen (der ODBC Name erscheint in der BDE-Verwaltung unter ODBC DSN im jeweiligen Alias). Du müßtest also auch mal in der BDE-Verwaltung bei den Aliases nachschauen, ob der Eintrag bei ODBC DSN stimmt (oder irgendetwas nicht OK ist). Mit Doppelklick auf einen Alias kommt die Anmeldung, wenn die klappt, scheint damit auch alles zu stimmen…

Gruß Thomas