Hallo,
ich schreibe eine TService Anwendung, die Verbindung zu einem MSSQL 2005 Server aufnimmt.
Compiliere ich als normal Application laeuft alles fehlerlos.
Starte ich die Anwendung als Service erhalte ich [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security Error
der Fehler entsteht beim Verbindungsaufbau der TAdoConnection:
Folgende Versuche waren erfolglos:
-Service von Local System auf Domain Login gestellt
-SQL Server und Client, sicher gestellt, dass SSL oder Enforce Encryption abgestellt ist
-statt ado native client genutzt,
-statt Trusted Connection im Connection String auf SQL Authentification gestellt (cliconfg etc)
-named pipes im SQL Server abgeschaltet
-Den Service auf einer anderen Maschine installiert
-Certificate = 0 in registry eingetragen im SuperSocket Bereich
-statt CoInitialze CoInitializeEx(COINIT_AppartmentThreaded) aufgerufen
-mit MMC.EXE die Certificates verglichen fuer den installierten Serice, ein Local Account und ein Domain Account, alle Certificates waren gleich.
Bin mit meinem Latein am Ende, vielleicht hatte ja jemand mal gleiches Problem und weiss Rat.
Ich habe den Service auf 4 verschiedenen PCs installiert.
Alle haben Windows Server 2003 installiert mit SQL 2005 Express.
Nur einer gibt diese Fehlermeldung aus, aber nur wenn das Programm als Service gestartet wird.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TISSystemsPhoneStream.ServiceStart(Sender: TService; var Started: Boolean); var x:TTimeZoneInformation;I:Integer; begin I:=CoInitialize(nil); GetTimeZoneInformation(x); Bias:=x.Bias*60; CoStr:=AdoCon.ConnectionString; try AdoCon.Connected:=true except on e:exception do begin // --------------- HIER ENTSTEHT DER SSL ERROR LogMessage(e.Message,EVENTLOG_ERROR_TYPE,0,4); end; end; Timer2.Enabled:=true; Started:=true; end; |
Vielen Dank
Markus