Oracle
 sql >> Base de données >  >> RDS >> Oracle

Connexion à la base de données Oracle via Excel

Comment avez-vous installé le client Oracle 32 bits et 64 bits ?

Veuillez consulter cette instruction :BadImageFormatException. Cela se produira lors de l'exécution en mode 64 bits avec les composants client Oracle 32 bits installés

Version courte :

Votre Excel est 32 bits et vous essayez d'utiliser Oracle 32 bits. Je suppose que vous lancez la version 64 bits de "ODBC Administrator" - il peut y avoir une incompatibilité. Ou vous avez un problème dans votre PATH concernant %ORACLE_HOME% et/ou %ORACLE_HOME%\bin dossier

Version longue :

Votre Excel est 32 bits, donc en général vous avez fait la bonne approche en plaçant le client 32 bits dans PATH et pour ORACLE_HOME , vous ne pouvez pas mélanger les assemblys 32 bits et 64 bits dans un même processus. Au fait, lorsque vous suivez les instructions ci-dessus, votre Windows gère cela automatiquement.

Je suppose que vous avez installé Oracle Instant Client. Le client instantané par défaut n'inclut ni pilote ODBC ni fournisseur de données Oracle (ODP.NET, Oracle.DataAccess.Client )

ODBC

Vous pouvez avoir 2 pilotes ODBC, un d'Oracle généralement appelé comme Oracle dans OraClient12_home1 et un de Microsoft appelé Microsoft ODBC pour Oracle (qui doit être installé par l'installation Windows par défaut, mais il nécessite également un client Oracle).

Le pilote ODBC d'Oracle est disponible pour 32 bits et 64 bits, le pilote Microsoft n'existe que pour 32 bits. Vous avez 2 administrateurs ODBC, 32 bits (exécutez c:\Windows\SysWOW64\odbcad32.exe ) et 64 bits (exécutez c:\Windows\System32\odbcad32.exe ). Là, vous devriez voir les pilotes installés pour 32 resp. 64 bits.

Fournisseur de données Oracle

Pour le fournisseur de données, vous avez une situation similaire. Vous en avez un de Microsoft (Fournisseur de données Microsoft .NET Framework pour Oracle , System.Data.OracleClient ) et d'Oracle (fournisseur de données Oracle pour .NET , Oracle.DataAccess.Client , plusieurs versions). Les deux sont disponibles pour 32 bits et 64 bits.

En principe, peu importe le pilote/fournisseur que vous utilisez pour vous connecter à Oracle - seule l'architecture (c'est-à-dire 32 ou 64 bits) doit correspondre. Chaque pilote/fournisseur nécessite l'installation du client Oracle en fonction. Tous les pilotes/fournisseurs de Microsoft sont obsolètes, vous devriez préférer ceux d'Oracle (comme indiqué dans le message d'avertissement)

Autres

Oracle fournit également ODP.NET, pilote géré qui ne nécessite aucune installation supplémentaire du client Oracle et fonctionne à la fois sur 32 bits et 64 bits. Cependant, je ne sais pas si vous pouvez l'utiliser dans Excel.

Enfin, vous disposez également du fournisseur OLE DB. Encore un de Microsoft (fournisseur Microsoft OLE DB pour Oracle ) et un d'Oracle (Fournisseur Oracle pour OLE DB ). Le fournisseur Microsoft n'existe que pour 32 bits et est obsolète.