Impossibile accedere a OCI.DLL a causa del tipo di applicazione
-
19-09-2019 - |
Domanda
Sto usando il tentativo di creare una connessione a un database Oracle tramite Entity Framework in Visual Studio 2008. Sto eseguendo Ultimate a 64 bit Vista.
Inizialmente, ho avuto difficoltà a stabilire anche una connessione al DB tramite Visual Studio, ma alla fine ho fatto funzionare le cose installando 10204_VISTA_W2K8_X64_PRODUTION_DB e ODTWitHoDAC1110720, ma solo le parti minime necessarie per interfacciarsi tramite Visual Studio.
Sono completamente nuovo in questa configurazione, quindi è probabile che io abbia già fatto un errore, ma l'installazione di entrambi i pacchetti è l'unico modo per creare una connessione tramite Visual Studio.
Ho fatto la connessione e ho usato il mago per creare un. File EDMX. Il modello e le associazioni sono state create perfettamente e ho pensato che le cose avrebbero funzionato bene. Ho usato il nome predefinito "entità" come nome di riferimento.
Quando provo a fare quanto segue
filingsContext = New Entities()
filingsContext.TABLE_NAME_HERE.First()
Ricevo questo errore seguente ..
INNERException = {"Impossibile caricare c: app adexter orahome_1 oci.dll. Si prega di verificare di utilizzare la versione 64x del client Oracle con applicazione 64x."}
Com'è che posso connettermi a Oracle DB in ogni punto tranne quando eseguo l'applicazione?
Soluzione
Il problema in cui ti stai incontrando è che stai cercando di caricare una versione a 32 bit della DLL in un'applicazione a 64 bit. Prova a cambiare l'applicazione Visual Basic su target a 32 bit / x86 e questo dovrebbe risolvere il problema
- Fare clic con il tasto destro sul progetto in Solution Explorer
- Selezionare Proprietà
- Vai alla scheda Compila
- Fare clic sulle opzioni di compilazione avanzata
- Cambia la combinazione CPU target su x86
- Colpire ok
Altri suggerimenti
Assicurati di aver installato la versione a 64 bit di ODT con ODAC.
Guarda a questa risposta Su come assicurarsi quale versione client utilizzerà l'applicazione (alcuni collegamenti al target finale in modo più specifico la lingua C#, ma possono essere adattati a VB .NET).