AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

connection zum Server

Ein Thema von claudine99 · begonnen am 11. Mär 2013 · letzter Beitrag vom 19. Mär 2013
Antwort Antwort
Seite 2 von 4     12 34      
claudine99

Registriert seit: 9. Mär 2012
20 Beiträge
 
Delphi 2009 Professional
 
#11

AW: connection zum Server

  Alt 12. Mär 2013, 17:16
Den Wurm suche ich ja grad
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.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#12

AW: connection zum Server

  Alt 12. Mär 2013, 17:20
so wird die ini ausgelesen:

 Result := ini.ReadString('connection', 'IP', '12.345.678.910');
Schau doch einmal nach, ob nicht hier bereits der Default-Wert als Result zurückgeliefert wird. Womöglich existiert dein Schlüssel nicht oder es ist ihm kein Datenwert zugeordnet.

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.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: connection zum Server

  Alt 12. Mär 2013, 17:27
@Perlsau



@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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#14

AW: connection zum Server

  Alt 12. Mär 2013, 17:40
Schau doch einmal nach, ob nicht hier bereits der Default-Wert als Result zurückgeliefert wird.
Dann würde folgendes nicht passieren:
Trotzdem wurde zuerst versucht, sich mit der 12.345.678.910 zu verbinden und danach mit der IP aus der ini...
Wann wird denn zum 1.Mal connected (mit der falschen IP)?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#15

AW: connection zum Server

  Alt 12. Mär 2013, 19:37
Schau doch einmal nach, ob nicht hier bereits der Default-Wert als Result zurückgeliefert wird.
Dann würde folgendes nicht passieren:
Trotzdem wurde zuerst versucht, sich mit der 12.345.678.910 zu verbinden und danach mit der IP aus der ini...
Die IP, die in der ersten Connect-Zeile steht, ist zweifellos diejenige IP, die von der Function GetIPfromINI(cFile:string):string; zurückgeliefert wird.
Delphi-Quellcode:
  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;
Weshalb also sollte es nicht passieren können, daß zuerst mit der Default-IP verbunden wird? Denn schließlich wird in Result := ini.ReadString('connection', 'IP', '12.345.678.910'); genau diese Default-IP angegeben, falls eine der Fehlerbedingungen von TIniFile.ReadString 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.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#16

AW: connection zum Server

  Alt 12. Mär 2013, 20:42
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?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#17

AW: connection zum Server

  Alt 12. Mär 2013, 20:48
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?
Ich glaube schon, daß du das falsch siehst. Laut Code werden beide Verbindungen mit denselben Parametern geöffnet. Wenn die Default-IP eine gültige IP-Nummer darstellt, dann werden auch beide Connects ausgeführt – wenn nicht, dann scheitert der TRY-Block schon beim ersten Versuch. Die Frage war ja Warum aber, versucht das Programm trotzdem zuerst auf die 12.345.678.910 zuzugreifen? – somit besteht das Problem darin, daß nicht mit der vermeintlich in der Ini-Datei existierenden IP verbunden wird, sondern mit der Default-IP. Weshalb auch sollte der zweite Connect nicht ausgeführt werden, wenn der erste erfolgreich war?

Delphi-Quellcode:
DM.AdoConnection1.ConnectionString := Format(ConnString,[UserName, PassWord, IP]);
DM.AdoConnection1.Open;
   DM.ADOCon__DWH.ConnectionString := Format(ConnString,[UserName, PassWord, IP]);
DM.ADOCon__DWH.Open;
Deshalb sollte sie auch zuerst einmal den Rückgabewert ihrer Ini-Auslesefunktion überprüfen. Leider wissen wir nicht, was diese Funktion zurückliefert ...

Geändert von Perlsau (12. Mär 2013 um 20:54 Uhr) Grund: Ergänzung
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#18

AW: connection zum Server

  Alt 12. Mär 2013, 21:18
Alles klar. Senile Demenz meinerseits. In letzter Zeit ein häufigeres Problem.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#19

AW: connection zum Server

  Alt 12. Mär 2013, 21:20
Alles klar. Senile Demenz meinerseits. In letzter Zeit ein häufigeres Problem.
Mach dir nichts draus, da bist du beileibe nicht der einzige
  Mit Zitat antworten Zitat
claudine99

Registriert seit: 9. Mär 2012
20 Beiträge
 
Delphi 2009 Professional
 
#20

AW: connection zum Server

  Alt 13. Mär 2013, 15:45
....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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz