SQL1159 Erreur d'initialisation avec le fournisseur de données DB2 .NET, code anomalie 7, jetons 9.5.0.DEF.2, LOGICIEL\IBM\DB2\InstalledCopies

StackOverflow https://stackoverflow.com/questions/29370

  •  09-06-2019
  •  | 
  •  

Question

J'essaie d'obtenir que le fournisseur de données DB2 d'une application .Net 32 ​​bits se connecte à DB2 exécuté en tant qu'application 32 bits sur Vista 64 (est-ce encore assez déroutant) ?Malheureusement, j'obtiens l'erreur suivante :

SQL1159 Erreur d'initialisation avec le fournisseur de données DB2 .NET, code anomalie 7, jetons 9.5.0.DEF.2, LOGICIEL\IBM\DB2\InstalledCopies

Il y a plusieurs Messages du forum IBM le mentionner, mais peu de conseils utiles.Quelqu'un a-t-il déjà vécu cela ?Ou avez-vous de meilleures idées pour le réparer ?

Était-ce utile?

La solution

Êtes-vous obligé de le faire fonctionner en x86 ?J'ai eu des problèmes similaires avec les applications Web sous le serveur Web de développement de Visual Studio (qui est x86), mais le passage à IIS (x64) a fonctionné pour moi.Depuis que je déployais sur IIS x64, je l'ai arrêté à ce moment-là.

J'ai essayé de tracer avec Filemon et Regmon, mais je n'ai reçu aucune erreur de clé refusée ou manquante.Si je devais regarder à nouveau, je vérifierais HKLM\Software\WOW6432Node, en supposant que le programme d'installation écrit sur le nœud x64 HKLM\Software, mais pas sur celui x86.

Autres conseils

Je me souviens vaguement d'avoir eu un problème similaire avec le pilote DB2 pour as/400 oledb lorsque j'essayais de configurer un serveur lié de SQL 2005 vers as/400.C'était un problème d'autorisations et j'ai finalement découvert que seuls les comptes de serveur SQL (pas Windows) pouvaient utiliser le serveur lié car (je pense) le pilote se chargeait alors en utilisant les informations d'identification du SQL au lieu de celles usurpées.Si cela fonctionne lorsqu'il est "exécuté en tant qu'administrateur", il doit s'agir d'autorisations.

Je suppose que vous avez vu l'article de SQL1159 dans le Guide de référence DB2?

Malheureusement pour vous, les codes motif s'arrêtent à 6 et ne continuent pas à 7.Il dit :

Réponse de l'utilisateur :Un problème est survenu avec votre installation DB2.Si c'est la première fois que DB2 est installé sur cet ordinateur, consultez les journaux d'installation pour détecter d'éventuelles erreurs et exécutez une réparation de DB2 à partir de l'applet du panneau de configuration Ajout/Suppression de programmes.L'emplacement par défaut des journaux d'installation est le dossier Mes documents/DB2LOG de l'utilisateur qui a effectué l'installation.Si cela ne résout pas le problème, contactez le support IBM et fournissez le code anomalie associé à ce message ainsi que les journaux d'installation.

Je suppose donc qu'il faut essayer de le réinstaller et si le problème persiste, vous devrez contacter IBM.

Désolé, je sais que cela n'aide pas beaucoup.

J'ai désinstallé la version 32 bits précédente, réinstallée en 64 bits, et j'obtiens maintenant une erreur complètement différente.Il est mentionné comme nécessitant la correction de FP2, mais comme j'utilise Express-C, je ne peux pas installer le fixpack (IBM ne fournit pas de fixpacks pour les produits DB2 gratuits).Quoi qu'il en soit, merci pour l'aide.Au moins, je peux me rapprocher de la connexion maintenant.:)

J'ai également rencontré cette erreur sur un serveur Windows 2003 x86.A l'origine, mon problème était

Impossible de trouver le fournisseur de données .NET Framework demandé.il pourrait ne pas être installé.

ce qui a conduit à des commentaires selon lesquels c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config manquait les entrées nécessaires pour la section DbProviderFactories.Et en effet, il n’y avait aucune entrée IBM DB2.Lorsque j'ai ajouté manuellement une entrée, j'ai ensuite rencontré votre erreur, suggérant qu'il y avait plus que de simplement éditer machine.config.

Finalement, j'ai désinstallé le jeu de pilotes IBM DB2, redémarré le système, l'ai réinstallé et l'ai initialisé correctement.

Juste un petit mot...

@Micheal :le lien que vous aviez pour SQL1159 est vers la documentation de la version 9.1
La documentation de la version 9.5 va jusqu'au code raison 9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

Malheureusement, je pense qu'il existe un code de 10ème raison qui n'est pas documenté ici, mais il se trouve dans un sujet DeveloperWorks.
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

J'ai eu le même problème avec le fournisseur DB2 .net.

Si vous avez Windows 64 Bit, téléchargez et installez le client d'exécution du serveur de données IBM (Windows AMD 64) version 9.5
de _https: //www14.software.ibm.com/webapp/iwm/web/prelogin.do? Lang = en_us & source = swg-idsrc11 & s_tact = appddnet & s_cmp = ibm_im_im

Si vous exécutez votre programme, vous obtiendrez l'exception suivante

Exception non-gérée:Exception System.Overflow :Opération arithmétique a donné lieu à un trop-plein.chez IBM. Data.DB2.DB2ConnPool.Open(Connexion DB2Connection, StringszConnectionStringIn, DB2ConnSettings& ppSettings, Object& ppConn) chez IBM. Data.DB2.DB2Connection.Open()

Téléchargez et installez le correctif pour votre version DB2 à partir dehttp://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

cela résoudrait le problème.

Installer DB2 Express-C pour win x64, version 9.7.1 et ça marcherait

J'ai eu un problème similaire, ma machine est en 64 bits.J'ai installé des clients d'exécution DB2 32 bits et 64 bits, défini le framework cible sur 32 bits dans mon projet, cela a parfaitement fonctionné pour moi.J'ai pu exécuter l'application sur d'autres machines 64/32 bits, il leur suffit d'installer le 32 bits ou le 64 bits à partir du client d'exécution DB2, en fonction du système d'exploitation de la machine.

Oui.Cela devrait se produire sous Windows 7 et non sous Windows XP.L'âme est :

  • faites un clic droit sur le projet dans l'explorateur de solutions
  • Propriétés
  • Onglet Compiler (côté gauche)
  • Faites défiler vers le bas pour voir Option de compilation avancée bouton
  • Changer le menu déroulant Processeur cible à x86.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top