Domanda

Sto usando Visual Studio per sviluppare un programma C ++ che utilizza OCCI per interrogare un database Oracle 11G. È un programma piuttosto semplice a questo punto e fa solo una singola query, ma continuo a correre in errori di runtime. Ho cercato per la prima volta di sviluppare questo in VS2010, scaricando i file OCCI 11.2.0.3 e ho ricevuto un errore relativo al punto di ingresso per una procedura di heap-alloc non situata in oci.dll. Ho l'impressione che questo errore potrebbe essere dovuto al fatto che il mio client Oracle è 11.2.0.1.

Poiché non sono in grado di supportare motivi per aggiornare il mio cliente a una versione più alta, ho deciso di tornare all'utilizzo di Visual Studio 2005, dal momento che ho letto nella documentazione OCCI di Oracle che le versioni VC8 delle libtture VC8 vengono già installate nel client 11G. Quindi ho spostato il mio programma C ++ / OCCI su VS 2005 e ora ottengo un errore di runtime di debug diverso: una casella di messaggio di errore che dice "L'applicazione non è stata inizializzata correttamente" e un messaggio dal caricatore nella finestra di uscita VS che dice "LDRPWalkimportDescriptor () Impossibile sondare [Oracle client DIR] \ OC8 \ lib \ MSVC \ VC8 \ ORACCI11D.DLL per il suo manifest, ntstatus 0xc0150002 "Non vedo un file manifest per oraocci11d.dll, quindi sono in perdita Per come risolvere questo. Qualcuno può più versato in VS Setup per OCCI Fai un suggerimento? Grazie in anticipo ...

Sheldon

È stato utile?

Soluzione

Ho notato che un certo numero di domande OCCI qui vengono lasciate senza risposta, quindi mi sento obbligato a spiegare come ho passato il mio problema :) Come è spesso menzionato nei thread occi, la chiave è scaricare la versione appropriata di Oracle Instant Cliente. Avevo provato a utilizzare i file dal mio client di runtime che avevo già installato, ma il numero di versione per quel client è 11.2.0.1, e l'OCCI per VS2010 richiede una versione di 11.2.0.2 o 11.2.0.3. Quindi ho finito il download della versione 11.2.0.2 sia per il client OCCI che per il client istantaneo, poiché i numeri di versione devono corrispondere per le cose al lavoro ...

Successivamente, è stato semplicemente una questione di impostare la variabile ambientale del percorso e la configurazione del progetto Visual Studio per puntare alle directory che contengono le DLL, le librerie e includono i file e impostando anche la variabile ambientale TNS_ADMIN per indicare il Directory contenente il file TNSNAMES.ORA che definisce il database a cui sto tentando di connettersi. Per una descrizione passo passo di questa configurazione, fare riferimento a questo Blog post di Mark Williams. Anche se questo post è stato scritto per Visual Studio 2008, la procedura è ancora la stessa per il 2010, solo con versione diversa #s ...

Sheldon

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top