SQL1159 Initialisierungsfehler mit DB2 .NET Data Provider, Ursachencode 7, Token 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich versuche, den DB2-Datenprovider von einer 32-Bit-.Net-Anwendung zu erhalten, um eine Verbindung zu DB2 herzustellen, das als 32-Bit-Anwendung unter Vista 64 ausgeführt wird (ist das schon verwirrend genug)?Leider erhalte ich die folgende Fehlermeldung:

SQL1159 Initialisierungsfehler mit DB2 .NET Data Provider, Ursachencode 7, Token 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

Es gibt einige Beiträge im IBM-Forum Erwähnung, aber wenig nützliche Anleitung.Hat das schon mal jemand erlebt?Oder haben Sie bessere Ideen zur Behebung?

War es hilfreich?

Lösung

Muss es als x86 laufen?Ich hatte ähnliche Probleme mit Web-Apps unter dem Entwicklungswebserver von Visual Studio (x86), aber der Wechsel zu IIS (x64) hat bei mir funktioniert.Da ich die Bereitstellung auf IIS x64 vornahm, war für mich zu diesem Zeitpunkt Schluss.

Ich habe versucht, die Ablaufverfolgung mit Filemon und Regmon durchzuführen, habe aber keine Fehlermeldungen wegen verweigerter oder fehlender Schlüssel erhalten.Wenn ich noch einmal nachschauen würde, würde ich HKLM\Software\WOW6432Node überprüfen und vermuten, dass das Installationsprogramm auf den x64-Knoten HKLM\Software schreibt, nicht jedoch auf den x86-Knoten.

Andere Tipps

Ich erinnere mich vage daran, dass ich ein ähnlich klingendes Problem mit dem DB2-Treiber für AS/400 oledb hatte, als ich versuchte, einen Verbindungsserver von SQL 2005 auf AS/400 einzurichten.Es handelte sich um ein Berechtigungsproblem und ich stellte schließlich fest, dass nur SQL-Serverkonten (nicht Windows) den Verbindungsserver verwenden konnten, da (glaube ich) der Treiber dann mit den Anmeldeinformationen des SQL geladen wurde und nicht mit denen, die imitiert wurden.Wenn es funktioniert, wenn es als Administrator ausgeführt wird, müssen es Berechtigungen sein.

Ich gehe davon aus, dass Sie den Artikel gesehen haben SQL1159 im DB2-Referenzhandbuch?

Leider hören die Ursachencodes bei 6 auf und gehen nicht bis 7 weiter.Es heißt:

Benutzerantwort:Bei Ihrer DB2-Installation ist ein Problem aufgetreten.Wenn DB2 zum ersten Mal auf diesem Computer installiert wurde, überprüfen Sie die Installationsprotokolle auf mögliche Fehler und führen Sie über das Systemsteuerungs-Applet „Programme hinzufügen/entfernen“ eine Reparatur von DB2 durch.Der Standardspeicherort der Installationsprotokolle ist der Ordner „Eigene Dateien/DB2LOG“ des Benutzers, der die Installation durchgeführt hat.Wenn das Problem dadurch nicht behoben wird, wenden Sie sich bitte an den IBM Support und geben Sie den mit dieser Meldung verbundenen Ursachencode sowie etwaige Installationsprotokolle an.

Versuchen Sie also, es neu zu installieren. Wenn das Problem weiterhin besteht, müssen Sie sich an IBM wenden.

Tut mir leid, ich weiß, dass das nicht viel hilft.

Ich habe die vorherige 32-Bit-Version deinstalliert, als 64-Bit neu installiert und jetzt erhalte ich eine völlig andere Fehlermeldung.Es wird erwähnt, dass für die Reparatur FP2 erforderlich ist, aber da ich Express-C verwende, kann ich das Fixpack nicht installieren (IBM stellt keine Fixpacks für kostenlose DB2-Produkte bereit).Wie auch immer, danke für die Hilfe.Zumindest kann ich der Verbindung jetzt näher kommen.:) :)

Dieser Fehler ist auch auf einem Windows 2003 x86-Server aufgetreten.Ursprünglich war mein Problem

Der angeforderte .NET -Framework -Datenanbieter kann nicht finden.Es kann nicht installiert werden.

Dies führte zu Kommentaren, dass c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config die erforderlichen Einträge für den Abschnitt DbProviderFactories fehlten.Und tatsächlich gab es dort keine IBM DB2-Einträge.Als ich manuell einen Eintrag hinzugefügt habe, ist mir dieser Fehler aufgefallen, der darauf hindeutet, dass es einen gibt mehr als nur die Datei machine.config zu bearbeiten.

Schließlich habe ich den IBM DB2-Treibersatz deinstalliert, das System neu gestartet, neu installiert und die Verbindungen ordnungsgemäß initialisiert.

Nur als kurze Anmerkung...

@Micheal:Der Link, den Sie für SQL1159 hatten, führt zu den Dokumenten der Version 9.1
Die Dokumentation zu Version 9.5 geht bis zum Ursachencode 9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

Leider glaube ich, dass es einen 10. Ursachencode gibt, der dort nicht dokumentiert ist, sich aber in einem DeveloperWorks-Thema befindet
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

Ich hatte das gleiche Problem mit dem DB2 .net-Anbieter.

Wenn Sie Windows 64 -Bit haben, laden Sie IBM Data Server Runtime Client (Windows AMD 64) Version 9.5 herunter und installieren Sie sie
von _https: //www14.software.ibm.com/webapp/iwm/web/prelogin.do? Lang = en_us & source = swg-idsrc11 & s_tact = appddnet & s_cmp = ibm_im

Wenn Sie Ihr Programm ausführen, erhalten Sie die folgende Ausnahme

Unbehandelte Ausnahme:System.Overflow-Ausnahme:Arithmetische Operation führte zu einem Überlauf.unter ibm.data.db2.db2connpool.open (DB2Connection Connection, StringsZConnectionStringin, Db2connetings & ppettings, Object & ppconn) unter ibm.data.db2.db2connection.open () ()

Laden Sie den Fix für Ihre DB2-Version herunter und installieren Sie ihn vonhttp://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

das würde das Problem beheben.

Installieren Sie DB2 Express-C für Win X64, Version 9.7.1 und es würde funktionieren

Ich hatte ein ähnliches Problem, mein Computer ist 64-Bit.Ich habe sowohl 32-Bit- als auch 64-Bit-Db2-Laufzeitclients installiert und das Zielframework in meinem Projekt auf 32 Bit eingestellt. Das hat bei mir perfekt funktioniert.Ich konnte die Anwendung auf anderen 64/32-Bit-Maschinen ausführen, nur dass sie je nach Betriebssystem der Maschine entweder die 32-Bit- oder die 64-Bit-Version vom DB2-Laufzeitclient installieren müssen.

Ja.Dies sollte unter Windows 7 passieren und nicht unter Windows XP.Die Lösung ist:

  • Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt
  • Eigenschaften
  • Registerkarte „Kompilieren“. (linke Seite)
  • Scrollen Sie nach unten, um es zu sehen Erweiterte Kompilierungsoption Taste
  • Ändern Sie das Dropdown-Menü Ziel-CPU auf x86.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top