Ich habe eine ASP.NET-Anwendung, die unter Windows 2003 ausgeführt wird und mit einer DB2-Datenbank kommunizieren muss, die sich auf dem Mainframe befindet. Wir haben DB2 Client Driver v9.5 auf unserem Server installiert, damit die Anwendung die Verbindung herstellen und mit der Datenbank arbeiten kann. Die Verbindungszeichenfolge für die Verbindung mit der Datenbank enthält den Benutzernamen und das Kennwort. Es handelt sich nicht um eine vertrauenswürdige Verbindung.DB2 Client v9.5 unter Win 2003 Lange Verbindungszeit erforderlich
Um klar zu sein, wir die DB2 .NET-Provider verwenden und nicht die OLE DB, ODBC etc.
Was ist wir bemerken, dass, wenn die ASP.NET-Anwendung versucht, dass die erste Verbindung zu machen DB2 dauert sehr lange, ungefähr 20 Sekunden. Nach einem Gespräch mit einem unserer residenten DBAs wurde festgestellt, dass der DB2-Treiber versucht, das Benutzerkonto, das für die Verbindung mit der Datenbank verwendet wird, gegen Active Directory zu authentifizieren.
Ihre Lösung bestand darin, auf dem Win2003-Server ein lokales Benutzerkonto mit demselben Namen wie das Benutzerkonto zu erstellen, das für die Verbindung verwendet wird. Das lokale Benutzerkonto muss kein Mitglied von acl-Gruppen sein und kann deaktiviert werden.
Ich habe diese Lösung versucht, und zu meinem Erstaunen hat es tatsächlich funktioniert. Die Verbindung wurde innerhalb von Millisekunden hergestellt. Was mich beschäftigt, ist, dass dieses "Feature" wie ein Fehler im DB2-Treiber erscheint, und alle neuen Versionen dieses Treibers könnten tatsächlich verhindern, dass dies wieder funktioniert.
Weiß jemand, ob es eine tatsächliche Einstellung im DB2-Treiber gibt, die wir festlegen könnten, damit er nicht versucht, sich bei Active Directory zu authentifizieren? Ich würde mich mit dieser Einstellung wohler fühlen, als mich auf einen Fehler in ihrem Authentifizierungsalgorithmus zu verlassen.
Dank
BTW, die gleiche Frage auf Server Fehler jedoch gefragt wurde, hat niemand in der Lage gewesen, es zu beantworten.