![]() |
AW: connection zum Server
Den Wurm suche ich ja grad:cry::cry:
Vorher hatte ich den Aufbau der Connection bei 'on create'. Trotzdem wurde zuerst versucht, sich mit der 12.345.678.910 zu verbinden und daach mit der IP aus der ini. Da die Kollegen, welche die ini nutze, icht auf die andere IP kommen, erhalten sie dann immer die Fehlermeldug der fehlenden Connection. |
AW: connection zum Server
Zitat:
Auszug aus der Hilfe: ReadString liest einen String-Wert aus einer INI-Datei. Der String Section bezeichnet den Abschnitt, der den zum Wert gehörigen Schlüssel enthält. Der String Ident ist der Name des Schlüssels mit dem Wert. Default ist der Standardwert, der in den folgenden Situationen zurückgeliefert wird: 1. Der Abschnitt ist nicht vorhanden. 2. Der Schlüssel existiert nicht. 3. Dem Schlüssel ist kein Datenwert zugeordnet. |
AW: connection zum Server
@Perlsau
:thumb: @claudine99 Setze dir einen Haltepunkt auf das Ende der Funktion und schau, welchen Wert Result dort bekommt. BTW: Es macht sich immer gut in ein Programm eine Log-Funktion einzubauen, dadurch sieht man, was dort wirklich passiert, gerade wenn das beim Anwender in Aktion ist. |
AW: connection zum Server
Zitat:
Zitat:
|
AW: connection zum Server
Zitat:
Delphi-Quellcode:
zurückgeliefert wird.
Function GetIPfromINI(cFile:string):string;
Delphi-Quellcode:
Weshalb also sollte es nicht passieren können, daß zuerst mit der Default-IP verbunden wird? Denn schließlich wird in
IP := GetIPfromINI('NAT_IP.ini'); // ZUWEISUNG AUS DER FUNCTION AN IP
DM.AdoConnection1.CLOSE; DM.ADOCon__DWH.Close; try Memo1.Lines.Append('try connect to IP: ' + IP); Memo1.Lines.Append(''); DM.AdoConnection1.ConnectionString := Format(ConnString,[UserName, PassWord, IP]); // ÜBERNAHME DES STRINGS AUS IP DM.AdoConnection1.Open;
Delphi-Quellcode:
genau diese Default-IP angegeben, falls eine der Fehlerbedingungen von
Result := ini.ReadString('connection', 'IP', '12.345.678.910');
Delphi-Quellcode:
zutrifft. Und genau diese Fehlerbedingung könnte eintreffen, ja ist sogar sehr wahrscheinlich, denn sonst stünde in der Variablen IP ja eine andere IP-Adresse als der Defaultwert.
TIniFile.ReadString
|
AW: connection zum Server
Schon klar, aber es werden hier doch 2 Verbindungsversuche unternommen. Die erste mit der (falschen) default IP und die zweite dann mit der richtigen.
Laut Code dürfte es nur einen Verbindungsversuch geben. Das es aber zwei gibt, gehe ich stark davon aus, das es entweder mehr Code gibt (den wir nicht kennen), oder eben das Connect doch beim Start ausgeführt wird (weil es in der DFM so eingestellt ist). Sehe ich das etwas falsch? |
AW: connection zum Server
Zitat:
Delphi-Quellcode:
Deshalb sollte sie auch zuerst einmal den Rückgabewert ihrer Ini-Auslesefunktion überprüfen. Leider wissen wir nicht, was diese Funktion zurückliefert ...
DM.AdoConnection1.ConnectionString := Format(ConnString,[UserName, PassWord, IP]);
DM.AdoConnection1.Open; DM.ADOCon__DWH.ConnectionString := Format(ConnString,[UserName, PassWord, IP]); DM.ADOCon__DWH.Open; |
AW: connection zum Server
Alles klar. Senile Demenz meinerseits. In letzter Zeit ein häufigeres Problem.
|
AW: connection zum Server
Zitat:
|
AW: connection zum Server
....sorry für das späte Feedback, aber da ich nicht die Möglichkeit habe, die Verbindung mit der NAT-IP zu testen, musste ich auf ein Feedback warten.
Die Auslesefunktion der ini funktioniert. Das habe ich im Debug-Modus getestet. Leider bleibt das Problem weiter bestehen. Gibt es die ini, wird zuerst angezeigt, 'Connection open. SQL server does ot exist or access denied.' . Erst danach wird versucht, die Verbindung über die IP aus der ini herzustelllen. Weiteren Quellcode in Bezug auf die Connection gibt es nicht. Kann es auch daran liegen, dass es bei eingebundenen Units ein 'on create' gibt, welches Daten lädt? Vielen Dank für Eure Mühe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz