Connecting to Oracle Database through Excel

I’m trying to connect to an Oracle Database on our server from an Excel sheet, but am having trouble understanding why.

I currently have both 32-bit and 64-bit Oracle 12c installed in different ORACLE_HOME s and have a 32-bit installation of Excel on my 64-bit computer.

I’m trying to connect to an Oracle Database in Excel using the New Query wizard.

New Query Wizard

When I click From Oracle Database I get the following error/message.

Error

I can continue with my current provider, but when I actually try to connect to a database I get this:

Error

What I don’t understand is why I’m getting this error when I have both 32-bit and 64-bit versions of Oracle 12c installed on my computer. Both are included on my PATH variable (32-bit first), and I also included a specific ORACLE_HOME and TNS_ADMIN to point to my 32-bit installation since my excel is 32-bit.

I really want the ability to query from the database through Excel, but this problem is confusing me to death.

EDIT

I’ve also just added the ODBC Driver from my Oracle home’s into the ODBC Data Source Administrator Tool.

enter image description here

It’s currently able to connect from this tool.

enter image description here

But when I try to connect to going through the ODBC Connection wizard, I know get this: enter image description here

1 Answer 1

How did you install 32bit and 64bit Oracle Client?

Short version:

Your excel is 32bit and you try to use the 32bit Oracle. I assume you launch the 64bit version of «ODBC Administrator» — there might be the mismatch. Or you have a problem in your PATH regarding %ORACLE_HOME% and/or %ORACLE_HOME%bin folder

Long version:

Your Excel is 32bit, so in general you did the right approach by putting the 32bit Client into PATH and for ORACLE_HOME , you cannot mix 32bit and 64bit assemblies in one process. Btw, when you follow the instructions above your Windows will manage this automatically.

I assume you installed the Oracle Instant Client. The default Instant Client does not include neither any ODBC driver nor Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

You may have 2 ODBC drivers, one from Oracle typically called like Oracle in OraClient12_home1 and one from Microsoft called Microsoft ODBC for Oracle (which should be installed by default Windows installation, however it also requires an Oracle Client).

The ODBC driver from Oracle is available for 32bit and 64bit, the Microsoft driver exits only for 32bit. You have 2 ODBC Administrators, 32bit (run c:WindowsSysWOW64odbcad32.exe ) and 64bit (run c:WindowsSystem32odbcad32.exe ). There you should see installed drivers for 32 resp. 64bit.

Интересно почитать:  Складской учет в эксель

Oracle Data Provider

For the Data Provider you have similar situation. You have one from Microsoft (Microsoft .NET Framework Data Provider for Oracle, System.Data.OracleClient ) and from Oracle (Oracle Data Provider for .NET, Oracle.DataAccess.Client , several versions). Both are available for 32bit and 64bit.

In principle it does not matter which driver/provider you use to connect to Oracle — just the architecture (i.e. 32 vs. 64 bit) has to match. Each driver/provider requires according Oracle Client installation. All drivers/providers from Microsoft have been deprecated, you should prefer the Oracle ones (as stated in the warning message)

Others

Oracle provides also the ODP.NET, Managed Driver which does not require any further Oracle Client installation and runs on both, 32bit and 64bit. However, I don’t know whether you can use this in Excel.

Last but not least, you also have OLE DB provider. Again one from Microsoft (Microsoft OLE DB Provider for Oracle) and one from Oracle (Oracle Provider for OLE DB). The Microsoft provider exist only for 32bit and has been deprecated.

Подключение MySQL в Excel

Приложение Excel дозволяет создавать подключение к наружным источникам, в том числе базам данных. Но по мере необходимости подключиться к базе данных под управлением СУБД MySQL, возникает неувязка. Программка просто «не умеет» этого созодать, но «обучить» ее просто.

Установка драйвера

До этого нужно установить драйвер Connector/ODBC от Oracle Corporation, скачать который можно по адресу http://dev.mysql.com/downloads/connector/odbc/ (при выбирании драйвера под определенную ОС есть принципиальный аспект, который будет описан ниже).

Создание источника данных

Дальше нужно сделать источник данных ODBC. Для этого заходим в «Панель управления», избираем пункт «Администрирование», в нем пункт «Источники данных (ODBC)». Раскроется последующее окно:

источник данных ODBC

Избираем «Добавить» и попадаем в меню выбора драйвера:

выбор драйвера MySQL

В перечне имеется два вероятных драйвера для MySQL разных шифровок: Unicode и ANSI. Выбирайте нужную Для вас. Если не понимаете, какая Для вас нужна, либо это не имеет значения, то лучше устанавливать Unicode.
В параметрах подключения указываете:

  1. Случайное заглавие источника;
  2. Описание источника;
  3. Сервер и порт. Порт оставляйте по дефлоту, если того не требуют опции сервера;
  4. Юзер и пароль, как при подключении в phpMyAdmin.

Протестируйте подключение к источнику, нажав клавишу «Test». Если подключение прошло удачно, то в перечне баз данных «Database» должен показаться перечень доступных баз. Выдираем нужную и нажимаем «OK». Источник сотворен.

Интересно почитать:  Excel выбор значения из выпадающего списка

Настройка параметров источника

Подключение к источнику из Excel

Проходим в книжке Excel на вкладку «Данные» -> раздел «Подключения» -> «Из остальных источников» -> «Из мастера подключения данных».

Мастер подключений данных

Избираем «ODBC DSN» -> сделанное ранее подключение.

Выбор типа источника

Выбор источника подключения

Предстоящая работа подобна обычному подключению к SQL Server.

Ошибка совпадения архитектур

Опосля установки соответственного драйвера на 64-разрядную ОС, разработке источника и подключения к нему, даже если все изготовлено верно, быть может выдана ошибка «dns архитектура драйвера и архитектура приложения не соответствуют друг дружке».
Неувязка заключается в последующем. Возможно, что во время установки пакета программ Microsoft Office были выбраны характеристики по дефлоту, при которых устанавливается 32-рязрядная версия. Таковым образом, происходит несовпадение разрядностей драйвера и приложения.
Решение – скачать и установить добавочно драйвер для Windows 32-bit.
Если установить лишь 32-битный драйвер, то подключение будет может быть, но сделать источник через панель управления не получиться.

Подключение к базе данных Oracle через Excel

Экспорт результатов таблицы либо запроса из SQL Server в Excel

Я пробую подключиться к базе данных Oracle на нашем сервере с листа Excel, но не понимаю, почему.

У меня на данный момент есть и то и это 32-битный и 64-битный Oracle 12c установлен в различных ORACLE_HOME s и на моем 64-битном компе установлена ​​32-разрядная версия Excel.

Я пробую подключиться к базе данных Oracle в Excel при помощи Новейший запрос волшебник.

Когда я нажимаю Из базы данных Oracle Я получаю последующую ошибку / сообщение.

Я могу продолжить работу с моим текущим провайдером, но когда я вправду пробую подключиться к базе данных, я получаю последующее:

Я не понимаю, почему я получаю эту ошибку, когда на моем компе установлены как 32-разрядная, так и 64-разрядная версии Oracle 12c. Оба включены в мои PATH переменная (поначалу 32-битная), и я также включил особый ORACLE_HOME также TNS_ADMIN чтоб указать на мою 32-разрядную установку, так как мой Excel 32-разрядный.

Мне весьма нужна возможность созодать запросы из базы данных через Excel, но эта неувязка меня до погибели сбивает.

РЕДАКТИРОВАТЬ

Я также лишь что добавил драйвер ODBC из моего дома Oracle в инструмент админа источников данных ODBC.

В истинное время он может подключиться при помощи этого инструмента.

Но когда я пробую подключиться к прохождению Подключение ODBC волшебник, я понимаю это:

Как вы устанавливали 32-битный и 64-битный клиент Oracle?

Интересно почитать:  Перевод excel в word

Направьте внимание на эту аннотацию: BadImageFormatException. Это произойдет при работе в 64-битном режиме с установленными 32-битными клиентскими компонентами Oracle.

Укороченная версия:

Ваш Excel 32-битный, и вы пытаетесь употреблять 32-битный Oracle. Я предполагаю, что вы запускаете 64-битную версию "ODBC Administrator" — быть может несоответствие. Либо у вас неувязка в вашем PATH относительно %ORACLE_HOME% и / либо %ORACLE_HOME%bin папка

Длинноватая версия:

Ваш Excel 32-битный, потому в целом вы поступили верно, установив 32-битный клиент в PATH и для ORACLE_HOME , вы не сможете соединять 32-битные и 64-битные сборки в одном процессе. К слову, если вы будете следовать инструкциям выше, ваша Windows будет управлять сиим автоматом.

Я предполагаю, что вы установили Oracle Instant Client. Моментальный клиент по дефлоту не включает ни драйвер ODBC, ни поставщик данных Oracle (ODP.NET, Oracle.DataAccess.Client )

У вас быть может 2 драйвера ODBC, один от Oracle обычно именуется как Oracle в OraClient12_home1 и один из Microsoft позвонил Microsoft ODBC для Oracle (который должен быть установлен по дефлоту при установке Windows, но также просит наличия клиента Oracle).

Драйвер ODBC от Oracle доступен для 32- и 64-разрядных версий, драйвер Microsoft — лишь для 32-разрядных. У вас есть 2 админа ODBC, 32 бит (запустите c:WindowsSysWOW64odbcad32.exe ) и 64-битный (запустить c:WindowsSystem32odbcad32.exe ). Там вы должны узреть установленные драйвера для 32 соотв. 64 бит.

Поставщик данных Oracle

Подобная ситуация с поставщиком данных. У вас есть один от Microsoft (Поставщик данных Microsoft .NET Framework для Oracle, System.Data.OracleClient ) и из Oracle (Поставщик данных Oracle для .NET, Oracle.DataAccess.Client , несколько версий). Оба доступны для 32- и 64-битных версий.

В принципе, не имеет значения, какой драйвер / провайдер вы используете для подключения к Oracle — обязана совпадать лишь архитектура (к примеру, 32-разрядная либо 64-разрядная). Для всякого драйвера / поставщика требуется соответственная установка клиента Oracle. Все драйверы / поставщики от Microsoft устарели, вы должны предпочесть драйверы Oracle (как обозначено в предупреждающем сообщении)

Остальные

Oracle также предоставляет ODP.NET, управляемый драйвер который не просит доборной установки клиента Oracle и работает как на 32-, так и на 64-разрядной версии. Но я не понимаю, можно ли употреблять это в Excel.

И крайнее, но не наименее принципиальное: у вас также есть поставщик OLE DB. Снова один от Microsoft (Поставщик Microsoft OLE DB для Oracle) и один от Oracle (Поставщик Oracle для OLE DB). Поставщик Microsoft существует лишь для 32-битной версии и устарел.

Ссылка на основную публикацию
Adblock
detector