2009-07-20 5 views
3

Ich habe eine .net 2.0-Anwendung auf IIS gehostet, die eine Verbindung zu einer Ingres-DB herstellt. Die Verbindung verwendet iBatis mit einem ODBC-Treiber, um eine Verbindung zu einer ingres-Datenbank herzustellen, die hinter einem Installationskennwort geschützt ist.Ingres-Verbindung auf einer bereitgestellten IIS-Site

Aus irgendeinem Grund, wenn ich meinen Code debuggen, läuft alles gut. Es stellt die Verbindung ohne Probleme her. Aber wenn ich versuche, die Seite auf meinem lokalen IIS zu hosten, kommt ingres zurück mit diesem Fehler

ERROR [5000H] [CA][Ingres ODBC Driver][Ingres]User authorization check failed. 
     Your user identifier was not known to this installation. 
     Contact your system manager for further assistance. 
ERROR [08S01] [CA][Ingres ODBC Driver][Ingres]The connection to the server has been aborted. 

Ich frage mich, warum die Installation Passwort Bußgeld gegen meine Debug-Sitzung arbeiten würde, und sich weigern, hinter IIS zu verbinden? Verwendet IIS einen anderen "Namen" als meinen Computernamen, um eine Verbindung mit dem Installationskennwort herzustellen?

Antwort

1

Die Verbindung wird zurückgewiesen, da dem Zielserver nicht bekannt ist, dass der Benutzer versucht, eine Verbindung herzustellen, oder dieser Benutzer nicht hinzugefügt wurde. Überprüfen Sie, ob der Prozessbesitzer Ihrer lokalen IIS-Instanz ein gültiger ingres-Benutzer ist. IIRC Der Kontoname ist normalerweise etwas wie IUSR_MACHINENAME, wobei MACHINENAME der Hostname Ihres IIS-Postfachs ist. Fügen Sie das Benutzerkonto mit dem folgenden SQL auf dem Server hinzu:

echo "create user IUSR_MACHINENAME\g" | sql iidbdb