sql >> Database >  >> RDS >> Oracle

Verbinding maken met Oracle Database via Excel

Hoe heb je 32bit en 64bit Oracle Client geïnstalleerd?

Bekijk deze instructie:BadImageFormatException. Dit gebeurt bij het uitvoeren in 64-bits modus met de 32-bits Oracle-clientcomponenten geïnstalleerd

Korte versie:

Je excel is 32bit en je probeert de 32bit Oracle te gebruiken. Ik neem aan dat u de 64-bits versie van "ODBC Administrator" start - er kan een mismatch zijn. Of je hebt een probleem met je PATH met betrekking tot %ORACLE_HOME% en/of %ORACLE_HOME%\bin map

Lange versie:

Je Excel is 32bit, dus over het algemeen heb je de juiste aanpak gevolgd door de 32bit Client in PATH te zetten en voor ORACLE_HOME , kunt u 32-bits en 64-bits assemblages niet in één proces combineren. Trouwens, als je de bovenstaande instructies volgt, zal je Windows dit automatisch beheren.

Ik neem aan dat u de Oracle Instant Client hebt geïnstalleerd. De standaard Instant Client bevat geen ODBC-stuurprogramma of Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

ODBC

Mogelijk hebt u 2 ODBC-stuurprogramma's, een van Oracle die gewoonlijk wordt genoemd als Oracle in OraClient12_home1 en een van Microsoft genaamd Microsoft ODBC voor Oracle (die standaard geïnstalleerd zou moeten worden door Windows, maar er is ook een Oracle Client voor nodig).

Het ODBC-stuurprogramma van Oracle is beschikbaar voor 32-bits en 64-bits, het Microsoft-stuurprogramma wordt alleen afgesloten voor 32-bits. U hebt 2 ODBC-beheerders, 32-bits (voer c:\Windows\SysWOW64\odbcad32.exe uit ) en 64bit (voer c:\Windows\System32\odbcad32.exe uit ). Daar zou u geïnstalleerde stuurprogramma's moeten zien voor 32 resp. 64bit.

Oracle-gegevensprovider

Voor de gegevensprovider heeft u een vergelijkbare situatie. U hebt er een van Microsoft (Microsoft .NET Framework Data Provider for Oracle , System.Data.OracleClient ) en van Oracle (Oracle Data Provider for .NET , Oracle.DataAccess.Client , verschillende versies). Beide zijn beschikbaar voor 32-bits en 64-bits.

In principe maakt het niet uit welke driver/provider je gebruikt om verbinding te maken met Oracle - alleen de architectuur (d.w.z. 32 vs. 64 bit) moet overeenkomen. Elke driver/provider vereist overeenkomstige Oracle Client-installatie. Alle stuurprogramma's/providers van Microsoft zijn verouderd, u moet de voorkeur geven aan de Oracle-stuurprogramma's (zoals vermeld in het waarschuwingsbericht)

Anderen

Oracle biedt ook de ODP.NET, Managed Driver die geen verdere Oracle Client-installatie vereist en op zowel 32-bits als 64-bits draait. Ik weet echter niet of je dit in Excel kunt gebruiken.

Last but not least heb je ook de OLE DB-provider. Wederom een ​​van Microsoft (Microsoft OLE DB Provider for Oracle ) en een van Oracle (Oracle Provider voor OLE DB ). De Microsoft-provider bestaat alleen voor 32-bits en is verouderd.




  1. MariaDB MINUS-operator uitgelegd

  2. Lighty voor Oracle

  3. Onjuiste integerwaarde '' voor een MySQL-kolom die integer is en null toestaat?

  4. Hoe voeg ik een verwijzing toe naar de MySQL-connector voor .NET?