2017-08-11 1 views
0

Ich habe eine klassische ASP-Webanwendung, die eine Verbindung zu einer DB2-Datenbank herstellt, um einige Daten zu lesen. Ich migrierte die Anwendung von Windows Server 2008r2 (IIS7.5) zu 2012r2 (IIS8.5) und die Anwendung kann keine Verbindung zur Datenbank herstellen. i erhalten unten Fehler
ERROR [HY000] [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 ERROR [HY000] [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004db2-Verbindung fehlgeschlagen nach der Migration von iis7.5 nach iis8.5

meine web.config
<add key="DB2TDSNName" value="Driver={{IBM DB2 ODBC DRIVER}};DBALIAS=DB2T;Uid={0};Pwd={1};" />

i die oben ODBC-Verbindung verwenden, um die Datenbank zu verbinden. Es funktioniert gut in IIS7.5 aber nicht IIS8.5. sollte ich in 8.5 etwas anderes machen?

Hinweis: Ich habe eine System-DSN in der ODBC-Datenquelle hinzugefügt und die Verbindung war erfolgreich, irgendwie kann die von IIS gehostete Anwendung keine Verbindung herstellen.

+0

Verwendet IIS 8.5 eine ODBC-Verbindung? Wenn ja, können Sie diesen DSN sehen und können Sie sich mit denselben Anmeldeinformationen wie IIS 8.5 auf diesem DSN verbinden (über odbcad32). – mao

+0

Überprüfen Sie auch, ob das Konto, das IIS 7.5 für db2-connection verwendet, über die richtigen Rechte/Berechtigungen für 2012r2 verfügt. Überprüfen Sie, ob auf dem 2012r2 eine db2diag.log-Datei vorhanden ist, und zeigen Sie deren Inhalt an (Textdatei, letzte Einträge am Ende). – mao

+0

@mao Ich finde keine ODBC-Verbindung in IIS, das Konto, das für die DB2-Verbindung verwendet wird, hat auch keine Rechte auf dem 2008r2. Ich kann db2diag.log auf 2012r2 nicht finden. wo kann ich es finden? –

Antwort

0

Ich habe herausgefunden, was das Problem ist. Die Umgebungsvariable für DB2-Treiber wurde in Systemumgebungsvariablen nicht ordnungsgemäß deklariert. Ich habe es den Path-Umgebungsvariablen hinzugefügt und es funktioniert.