SQL1159 Errore di inizializzazione con il provider di dati DB2 .NET, codice motivo 7, token 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

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

  •  09-06-2019
  •  | 
  •  

Domanda

Sto cercando di ottenere che il provider di dati DB2 da un'applicazione .Net a 32 bit si connetta a DB2 in esecuzione come applicazione a 32 bit su Vista 64 (è già abbastanza confuso)?Purtroppo ricevo il seguente errore:

SQL1159 Errore di inizializzazione con il provider di dati DB2 .NET, codice motivo 7, token 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

Ce ne sono diversi Post del forum IBM menzionarlo, ma poche indicazioni utili.Qualcuno ha già sperimentato questo?Oppure hai idee migliori per risolverlo?

È stato utile?

Soluzione

È necessario che venga eseguito come x86?Ho riscontrato problemi simili con le app Web nel server Web di sviluppo di Visual Studio (che è x86), ma il passaggio a IIS (x64) ha funzionato per me.Dato che stavo distribuendo su IIS x64, a quel punto ho interrotto la giornata.

Ho provato a tracciare con Filemon e Regmon, ma non ho ricevuto errori di chiave negata o mancante.Se dovessi guardare di nuovo, controllerei HKLM\Software\WOW6432Node, supponendo che il programma di installazione scriva sul nodo HKLM\Software x64, ma non su quello x86.

Altri suggerimenti

Ricordo vagamente di aver avuto un problema simile con il driver DB2 per as/400 oledb durante il tentativo di configurare un server collegato da sql 2005 a as/400.Era un problema di autorizzazioni e alla fine ho scoperto che solo gli account del server SQL (non Windows) potevano utilizzare il server collegato perché (credo) il driver veniva caricato utilizzando le credenziali di SQL anziché quelle impersonate.Se funziona quando "esegui come" amministratore, allora devono essere le autorizzazioni.

Presumo che tu abbia visto la recensione di SQL1159 nel Guida di riferimento DB2?

Sfortunatamente per te, i codici motivo si fermano a 6 e non continuano a 7.Dice:

Risposta dell'utente:Si è verificato un problema con l'installazione di DB2.Se è la prima volta che DB2 viene installato su questo computer, esaminare i registri di installazione per eventuali errori ed eseguire una riparazione di DB2 dall'applet del pannello di controllo Aggiungi/Rimuovi programmi.La posizione predefinita dei log di installazione è la cartella Documenti/DB2LOG dell'utente che ha eseguito l'installazione.Se ciò non risolve il problema, contatta il supporto IBM e fornisci il codice motivo associato a questo messaggio insieme a eventuali log di installazione.

Quindi immagino di provare a reinstallarlo e se il problema persiste dovrai contattare IBM.

Scusa, so che non è di grande aiuto.

Ho disinstallato la versione precedente a 32 bit, reinstallata come 64 bit e ora ricevo un errore completamente diverso.È menzionato come richiedente per la correzione FP2, ma poiché sto utilizzando Express-C, non riesco a installare il fixpack (IBM non fornisce i fixpack per i prodotti DB2 gratuiti).Comunque grazie per l'aiuto.Almeno ora posso avvicinarmi alla connessione.:)

Ho riscontrato questo errore anche su un server Windows 2003 x86.Inizialmente il mio problema era

Impossibile trovare il fornitore di dati .NET Framework richiesto.Non può essere installato.

che ha portato a commenti secondo cui in c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config mancavano le voci necessarie per la sezione DbProviderFactories.E in effetti lì non c'erano voci IBM DB2.Quando ho aggiunto manualmente una voce, ho riscontrato questo tuo errore, suggerendo che esiste Di più oltre alla semplice modifica di machine.config.

Alla fine ho disinstallato il set di driver IBM DB2, ho riavviato il sistema, l'ho reinstallato e ho inizializzato correttamente le connessioni.

Solo una breve nota...

@Michele:il collegamento che avevi per SQL1159 riguarda i documenti della versione 9.1
La documentazione della versione 9.5 arriva fino al codice motivo 9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

Sfortunatamente, penso che ci sia un decimo codice motivo non documentato ma si trova in un argomento di DeveloperWorks
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

Ho avuto lo stesso problema con il provider DB2 .net.

Se hai Windows 64 bit, scarica e installa il client di runtime di IBM Data Server (Windows AMD 64) versione 9.5
da _https: //www14.software.ibm.com/wbapp/iwm/web/prelogin.do? Lang = en_us & source = swg-idsrc11 e s_tact = appddnet & s_cmp = ibm_im

Se esegui il tuo programma otterrai la seguente eccezione

Eccezione non gestita:Eccezione System.Overflow:Operazioni matematiche risultano in abbondanza.su ibm.data.db2.db2connpool.open (DB2Connection Connection, StringszConnectionstringin, DB2ConnSettings & PpSettings, Object & PpConn) su IBM.Data.DB2.DB2Connection.open ()

Scarica e installa la correzione per la tua versione db2 dahttp://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

questo risolverebbe il problema.

Installa DB2 Express-C per Win X64, versione 9.7.1 e funzionerebbe

Ho avuto un problema simile, la mia macchina è a 64 bit.Ho installato client runtime db2 sia a 32 bit che a 64 bit, ho impostato il framework di destinazione su 32 bit nel mio progetto e ha funzionato perfettamente per me.Sono stato in grado di eseguire l'applicazione su altre macchine a 64/32 bit, è sufficiente che installino la versione a 32 bit o quella a 64 bit dal client runtime db2, a seconda del sistema operativo della macchina.

SÌ.Questo dovrebbe accadere in Windows 7 e non in Windows XP.L'anima è:

  • fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni
  • Proprietà
  • Scheda Compila (lato sinistro)
  • Scorri verso il basso per vedere Opzione di compilazione avanzata pulsante
  • Cambia il menu a discesa CPU di destinazione ax86.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top