Oracle
 sql >> база данни >  >> RDS >> Oracle

Свързване към Oracle Database чрез Excel

Как инсталирахте 32-битов и 64-битов Oracle Client?

Моля, погледнете тази инструкция:BadImageFormatException. Това ще се случи при работа в 64-битов режим с инсталирани 32-битови клиентски компоненти на Oracle

Кратка версия:

Вашият excel е 32bit и се опитвате да използвате 32bit Oracle. Предполагам, че стартирате 64-битовата версия на "ODBC Administrator" - може да има несъответствие. Или имате проблем във вашия PATH относно %ORACLE_HOME% и/или %ORACLE_HOME%\bin папка

Дълга версия:

Вашият Excel е 32-битов, така че като цяло сте направили правилния подход, като поставите 32-битовия клиент в PATH и за ORACLE_HOME , не можете да смесвате 32-битови и 64-битови сборки в един процес. Между другото, когато следвате инструкциите по-горе, вашият Windows ще управлява това автоматично.

Предполагам, че сте инсталирали Oracle Instant Client. Незабавният клиент по подразбиране не включва нито ODBC драйвер, нито Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

ODBC

Може да имате 2 ODBC драйвера, единият от Oracle обикновено се нарича Oracle в OraClient12_home1 и един от Microsoft, наречен Microsoft ODBC за Oracle (което трябва да бъде инсталирано по подразбиране при инсталация на Windows, но също така изисква Oracle Client).

ODBC драйверът от Oracle е наличен за 32-битови и 64-битови, драйверът на Microsoft излиза само за 32-битови. Имате 2 ODBC администратори, 32 бита (изпълнете c:\Windows\SysWOW64\odbcad32.exe ) и 64 бита (изпълнете c:\Windows\System32\odbcad32.exe ). Там трябва да видите инсталирани драйвери за 32 респ. 64 бита.

Доставчик на данни Oracle

За Доставчика на данни имате подобна ситуация. Имате такъв от Microsoft (Microsoft .NET Framework Data Provider за Oracle , System.Data.OracleClient ) и от Oracle (Oracle Data Provider for .NET , Oracle.DataAccess.Client , няколко версии). И двата са налични за 32 и 64 бита.

По принцип няма значение кой драйвер/доставчик използвате за свързване с Oracle - просто архитектурата (т.е. 32 срещу 64 бита) трябва да съвпада. Всеки драйвер/доставчик изисква съответната инсталация на Oracle Client. Всички драйвери/доставчици от Microsoft са остарели, трябва да предпочетете тези на Oracle (както е посочено в предупредителното съобщение)

Други

Oracle предоставя и ODP.NET, управляван драйвер който не изисква допълнителна инсталация на Oracle Client и работи и на 32-битов, и на 64-битов. Не знам обаче дали можете да използвате това в Excel.

Не на последно място, имате и OLE DB доставчик. Отново един от Microsoft (Microsoft OLE DB Provider за Oracle ) и един от Oracle (Oracle доставчик за OLE DB ). Доставчикът на Microsoft съществува само за 32 бита и е остарял.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да сравняваме числови стойности в едни и същи колони за множество колони с помощта на Oracle SQL

  2. Изберете същата колона за различни стойности в различна колона

  3. Има ли начин да получите номера на реда в Mysql като rownum в oracle

  4. Oracle:таблицата се променя

  5. Свързване към Oracle:CodeIgniter срещу Laravel