J'ai une application ASP.NET fonctionnant sous Windows 2003 qui doit communiquer avec une base de données DB2 qui réside sur le mainframe. Nous avons installé le pilote DB2 Client v9.5 sur notre serveur afin que l'application puisse effectuer la connexion et travailler avec la base de données. La chaîne de connexion pour se connecter à la base de données contient le nom d'utilisateur et le mot de passe, ce n'est pas une connexion approuvée.DB2 Client v9.5 sur Win 2003 Prend beaucoup de temps pour établir la connexion
Pour être clair, nous utilisons le fournisseur .NET DB2 et non OLE DB, ODBC, etc.
Ce que nous avons remarqué est que lorsque l'application ASP.NET tente de faire la première connexion DB2, cela prend beaucoup de temps, environ 20 secondes. Après avoir parlé à l'un de nos administrateurs de bases de données résidents, ils ont dit que cela pouvait être dû au fait que le pilote DB2 essayait d'authentifier le compte d'utilisateur utilisé pour se connecter à la base de données, par rapport à Active Directory.
Leur solution à ceci était de créer un compte d'utilisateur local sur le serveur Win2003, avec le même nom que le compte d'utilisateur qui est utilisé pour établir la connexion. Le compte d'utilisateur local ne doit appartenir à aucun groupe ACL et il peut être désactivé.
J'ai essayé cette solution, et à ma grande surprise, cela a fonctionné. La connexion a été établie en quelques millisecondes. Ce qui m'inquiète, c'est que cette "fonctionnalité" semble être une faille dans le pilote DB2, et que toute nouvelle version de ce pilote pourrait empêcher cela de fonctionner à nouveau.
Est-ce que quelqu'un sait s'il existe un paramètre que nous pourrions définir dans le pilote DB2 afin qu'il n'essaie pas de s'authentifier avec Active Directory? Je me sentirais plus à l'aise d'utiliser ce paramètre, plutôt que de me fier à ce qui me semble être une faille dans leur algorithme d'authentification.
Merci
BTW, la même question a été posée sur le serveur de défaut, cependant, personne n'a été en mesure de répondre là-bas.