sql >> Databasteknik >  >> RDS >> Oracle

Ansluta till Oracle Database via Excel

Hur installerade du 32bit och 64bit Oracle Client?

Ta en titt på denna instruktion:BadImageFormatException. Detta inträffar när du kör i 64-bitarsläge med 32-bitars Oracle-klientkomponenter installerade

Kort version:

Din excel är 32bit och du försöker använda 32bit Oracle. Jag antar att du startar 64-bitarsversionen av "ODBC Administrator" - det kan finnas en obalans. Eller så har du ett problem i din PATH angående %ORACLE_HOME% och/eller %ORACLE_HOME%\bin mapp

Lång version:

Din Excel är 32-bitars, så generellt sett gjorde du rätt tillvägagångssätt genom att lägga 32-bitarsklienten i PATH och för ORACLE_HOME , du kan inte blanda 32-bitars och 64-bitars sammansättningar i en process. Btw, när du följer instruktionerna ovan kommer Windows att hantera detta automatiskt.

Jag antar att du installerade Oracle Instant Client. Standardinstantklienten inkluderar varken någon ODBC-drivrutin eller Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

ODBC

Du kan ha 2 ODBC-drivrutiner, en från Oracle kallas vanligtvis Oracle i OraClient12_home1 och en från Microsoft som heter Microsoft ODBC för Oracle (som bör installeras som standardinstallation av Windows, men det kräver också en Oracle-klient).

ODBC-drivrutinen från Oracle är tillgänglig för 32bit och 64bit, Microsoft-drivrutinen avslutas endast för 32bit. Du har 2 ODBC-administratörer, 32bitar (kör c:\Windows\SysWOW64\odbcad32.exe ) och 64bit (kör c:\Windows\System32\odbcad32.exe ). Där ska du se installerade drivrutiner för 32 resp. 64 bitar.

Oracle Data Provider

För dataleverantören har du liknande situation. Du har en från Microsoft (Microsoft .NET Framework Data Provider for Oracle , System.Data.OracleClient ) och från Oracle (Oracle Data Provider for .NET , Oracle.DataAccess.Client , flera versioner). Båda är tillgängliga för 32bit och 64bit.

I princip spelar det ingen roll vilken drivrutin/leverantör du använder för att ansluta till Oracle - bara arkitekturen (dvs. 32 vs. 64 bitar) måste matcha. Varje drivrutin/leverantör kräver Oracle Client-installation. Alla drivrutiner/leverantörer från Microsoft har fasats ut, du bör föredra de Oracle (som anges i varningsmeddelandet)

Andra

Oracle tillhandahåller även ODP.NET, Managed Driver som inte kräver någon ytterligare Oracle Client-installation och körs på både 32bit och 64bit. Jag vet dock inte om du kan använda detta i Excel.

Sist men inte minst har du också OLE DB-leverantör. Återigen en från Microsoft (Microsoft OLE DB Provider for Oracle ) och en från Oracle (Oracle Provider för OLE DB ). Microsoft-leverantören finns endast för 32-bitars och har fasats ut.




  1. ORA-29278:SMTP-transientfel:Tjänsten är inte tillgänglig när UTL_MAIL körs

  2. Skapar sammansatt primärnyckel i SQL Server

  3. Är följande kod giltig?

  4. Lagra en IP-adress i en Oracle SQL-tabell