Erreur d'initialisation SQL1159 avec DB2 .NET Data Provider, code anomalie 2
Je suis en train d'essayer de vous connecter à DB2 .NET 2.0 de l'application dans mon développement ordinateur exécutant windows 7 64 bits.
J'obtiens cette erreur dans la méthode open. Impossible de trouver une solution.
ExceptionType: InvalidOperationException
ExceptionMessage: SQL1159 erreur d'Initialisation avec DB2 .NET Fournisseur de Données, le code de raison 2, les jetons D:.......................\bin\db2app.dll,
StackTrace: chez IBM.Les données.DB2.DB2ConnPool.Ouvert(DB2Connection connexion, String& szConnectionString, DB2ConnSettings& ppSettings, Objet& ppConn)
chez IBM.Les données.DB2.DB2Connection.Open()
source d'informationauteur Shetty
Vous devez vous connecter pour publier un commentaire.
Appris cela à partir d'un colleauge de la mine. Question était parce que db2app.dll était manquant dans le répertoire bin du dossier de l'application.
Copié db2app.dll et db2app64.dll à partir de C:\Program Files\IBM\SQLLIB\BIN à la bib dossier de demande et il a bien fonctionné.
Voir la "réponse de l'utilisateur" en bas de la IBM doc pour SQL1159Nqui répertorie également les diverses raisons pour lesquelles vous pourriez vous recevez ce code d'erreur:
J'ai eu un 32 bits, un Client DB2 et j'ai été y accéder à partir d'une Application Web hébergée sur IIS, à l'aide de l'Application de la piscine (avec "Activer l'Application 32 bits" pour valeur false). Dans ce cas, un
Client 64 bits (db2app64.dll)
est prévu, tandis que db2app.dll va jeter de l'erreur ci-dessus.
Juste pour info..
Il est difficile de déboguer cette erreur dans Visual studio en tant que par défaut, IIS express utilise 32 bits de l'application de la piscine. Pour changer en 64 bits, on doit faire des changements dans la base de registre (set Use64BitIISExpress 1) Il n'y a pas de inetmgr pour IIS Express.
Après avoir parlé à IBM, ils recommandent fortement à l'encontre de mettre IBM dll à l'intérieur du dossier bin. Nous laissons IBM à distance configurer notre serveur et maintenant tout fonctionne bien et nous ne devons pas mettre la ibm*.dll dans notre corbeille de dossiers ou il ne fonctionnera pas.