Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Conectando-se ao banco de dados Oracle através do Excel


Como você instalou o Oracle Client de 32 bits e 64 bits?

Dê uma olhada nesta instrução:BadImageFormatException. Isso ocorrerá ao executar no modo de 64 bits com os componentes do cliente Oracle de 32 bits instalados

Versão curta:


Seu excel é de 32 bits e você tenta usar o Oracle de 32 bits. Suponho que você inicie a versão de 64 bits do "ODBC Administrator" - pode haver uma incompatibilidade. Ou você tem um problema em seu PATH sobre %ORACLE_HOME% e/ou %ORACLE_HOME%\bin pasta

Versão longa:


Seu Excel é de 32 bits, então, em geral, você fez a abordagem correta colocando o cliente de 32 bits em PATH e para ORACLE_HOME , você não pode misturar assemblies de 32 bits e 64 bits em um processo. Aliás, quando você seguir as instruções acima, seu Windows gerenciará isso automaticamente.

Suponho que você instalou o Oracle Instant Client. O Instant Client padrão não inclui nenhum driver ODBC nem Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

ODBC


Você pode ter 2 drivers ODBC, um da Oracle normalmente chamado como Oracle em OraClient12_home1 e um da Microsoft chamado Microsoft ODBC para Oracle (que deve ser instalado por padrão na instalação do Windows, mas também requer um Oracle Client).

O driver ODBC da Oracle está disponível para 32 bits e 64 bits, o driver da Microsoft sai apenas para 32 bits. Você tem 2 Administradores ODBC, 32 bits (execute c:\Windows\SysWOW64\odbcad32.exe ) e 64 bits (execute c:\Windows\System32\odbcad32.exe ). Lá você deve ver os drivers instalados por 32 resp. 64 bits.

Provedor de dados Oracle


Para o Provedor de Dados, você tem situação semelhante. Você tem um da Microsoft (Microsoft .NET Framework Data Provider for Oracle , System.Data.OracleClient ) e da Oracle (Oracle Data Provider para .NET , Oracle.DataAccess.Client , várias versões). Ambos estão disponíveis para 32 bits e 64 bits.

Em princípio, não importa qual driver/provedor você usa para se conectar ao Oracle - apenas a arquitetura (ou seja, 32 vs. 64 bits) deve corresponder. Cada driver/provedor requer a instalação do Oracle Client. Todos os drivers/provedores da Microsoft foram preteridos, você deve preferir os da Oracle (conforme indicado na mensagem de aviso)

Outros


A Oracle também fornece o ODP.NET, Driver Gerenciado que não requer nenhuma instalação adicional do Oracle Client e é executado em 32 bits e 64 bits. No entanto, não sei se você pode usar isso no Excel.

Por último, mas não menos importante, você também tem o provedor OLE DB. Novamente um da Microsoft (Microsoft OLE DB Provider for Oracle ) e um da Oracle (Oracle Provider for OLE DB ). O provedor da Microsoft existe apenas para 32 bits e foi preterido.