2009-07-20 20 views
3

J'ai une application .net 2.0 hébergée sur IIS, qui se connecte à une base de données Ingres. La connexion utilise iBatis avec un pilote ODBC pour se connecter à une base de données Ingres protégée par un mot de passe d'installation.Connexion Ingres sur un site déployé IIS

Pour une raison quelconque, lorsque je débogue mon code, tout fonctionne correctement. Il établit la connexion sans aucun problème. Cependant, lorsque je tente d'héberger le site sur mon IIS local, ingres revient avec cette erreur

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. 

Je me demande pourquoi le mot de passe de l'installation fonctionnerait très bien contre ma session de débogage, et refuser de se connecter derrière IIS? IIS utilise-t-il un nom différent de celui de mon ordinateur pour établir une connexion avec le mot de passe d'installation?

Répondre

1

La connexion est rejetée car le serveur cible ignore si l'utilisateur tente de se connecter ou si l'utilisateur n'a pas été ajouté. Vérifiez si le propriétaire du processus de votre instance IIS locale est un utilisateur Ingres valide. IIRC le nom du compte est normalement quelque chose comme IUSR_MACHINENAME, où MACHINENAME est le nom d'hôte de votre boîte IIS. Ajoutez le compte d'utilisateur à l'aide du code SQL suivant sur le serveur:

echo "create user IUSR_MACHINENAME\g" | sql iidbdb