Bei
ADO Komponenten muss man folgende Regeln beachten!
1.) es darf nur eine einzige ADOConnection pro Datenbank geben
2.) alle ADOQuery, ADOTable, ADOCommand, ADODataset müssen auf diese Connection verweisen und dürfen keinen eigenen ConnectionString haben
3.) Property [ADOConnection].Connected muss zur Entwicklungszeit auf False sein
4.) ALLE Queries, Tables, ... müssen zur Entwicklungszeit inaktiv sein (Active=False)
5.) Sobald man im Objekt-Inspektor an einer
Query herumspielt, wird die
Query kurzzeitig aktiv.
Damit wird aber auch die ADOConnection aktiv.
Wenn man nicht aufpasst und einfach nur kompiliert kann Punkt 3.) verletzt werden.
Projekt schliesen, neu öffnen und Build-All kann dann helfen.
Zur Laufzeit ergibt sich dann folgendes Problem:
Irgend eine ADOQuery steht versehentlich auf Active=True.
Dies bewirkt automatisch, dass die ADOConnection verbunden wird.
Allerdings ist zu diesem Zeitpunkt der ConnectionString noch nicht gesetzt.
Damit wird ein falscher ConnectionString (nämlich der der auf die Entwickler
DB zeigt) verwendet.
Deshalb sollte man die Punkte 1. bis 5. genau beachten.