Excel подключение к oracle
Подключение к базе данных Oracle (Power Query)
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
С помощью Excel Get & преобразования качества (Power Query) для подключения к базе данных Oracle.
Примечание: Прежде чем вы можете подключиться к базе данных Oracle с помощью Power Query, вам необходимо v8.1.7 программного обеспечения клиента Oracle или больше на вашем компьютере. Чтобы установить клиентское программное обеспечение Oracle, перейдите к Access компоненты данных (ODAC) 32-разрядная Oracle с помощью инструментов разработчика Oracle для Visual Studio (12.1.0.2.4) установить 32-разрядного клиента Oracle или ODAC 64-разрядной версии 4 (12.1.0.2.4) Xcopy для Windows x64 12 cустановить 64-разрядную клиента Oracle.
Щелкните на вкладке » данные » выберите Получение данных > Из базы данных > Из базы данных Oracle. Если кнопка Получить данные не отображается, нажмите кнопку Новый запрос > Из базы данных > Из базы данных Oracle.
На вкладке ленты Power Query щелкните Из базы данных > Из базы данных Oracle.
В диалоговом окне База данных Oracle в поле Имя сервера укажите сервер Oracle, к которому нужно подключиться. Если требуется ИД безопасности, его можно указать в формате «Имя_сервера/ИД_безопасности».
Если данные нужно импортировать с использованием запроса на языке базы данных, укажите его в поле Инструкция SQL. Дополнительные сведения см. в статье Импорт данных из базы данных с помощью запроса на ее языке.
Нажмите кнопку ОК.
Если для сервера Oracle требуются учетные данные пользователя базы данных:
В диалоговом окне Доступ к базе данных введите имя пользователя и пароль.
Нажмите кнопку Подключиться.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
MyKnowledgeShare
Infinite Experience Flow
Использование поставщика данных Oracle в Excel Calculation Services
Большинство информации о настройке Excel Calculation Services уже присутствует в интернете, даже на официальных ресурсах:
Однако существует ряд моментов, касаемых использования поставщика данных Oracle, которые не являются очевидными и вызывают вопросы при настройке. Целью данной статьи является освещение вопросов, возникающих при настройке и использовании поставщика данных Oracle.
Существует как минимум три возможных поставщика данных Oracle:
- Поставщик Microsoft OLE DB для Oracle (MSDAORA)
- Поставщик Oracle для OLE DB (OraOLEDB)
- Драйвер Oracle ODBC для Oracle 9.2 (Oracle in OraHome92)
При этом первый, как ясно из названия от Microsoft, два других от Oracle. Microsoft четко дает понять, что их поставщик данных Oracle является устаревшим (deprecated) и не должен использоваться, поскольку использует Oracle Call Interface (OCI) версии 7, что больше не поддерживается Oracle. Более того, Microsoft OLE DB для Oracle является 32-битным и не может быть использован в SharePoint 2010 в виду архитектурных ограничений. Драйвер Oracle ODBC для Oracle 9.2 также не рекомендуется использовать, поскольку его производительность окажется ниже из-за наличия дополнительного слоя доступа к ODBC через ADO. Таким образом, наиболее предпочтительным вариантом из рассматриваемых является Поставщик Oracle для OLE DB.
Для установки и настройки Поставщика Oracle для OLE DB необходимо выполнить следующие шаги:
- Загрузить 64-х битную версию Oracle Data Access Components (ODAC)
- Установить ODAC в соответствии с приложенными инструкциями по установке
- Добавить в переменную окружения PATH пути к домашней папке установки ODAC и к папке bin установки ODAC (например: C:oracle и C:oraclebin)
Для настройки Excel Calculation Services следует убедиться, что Поставщик Oracle для OLE DB присутствует в списке надежных поставщиков данных. Для этого следует перейти в Центр администрирования -> Управление приложениями-службами -> Приложение Служб Excel (название зависит от конфигурации фермы) -> Надежные поставщики данных:
Поскольку Oracle Client использует для своей работы переменные окружения, следует также активировать столь непопулярную настройку для пула приложений IIS, как «Загрузить профиль пользователя». Для этого на веб-сервере SharePoint, на котором размещено Приложение служб Excel следует зайти в Диспетчер служб IIS, найти пул приложений, котором выполняется Приложение служб Excel и, выбрав Дополнительные настройки, установить значение «Загрузить профиль пользователя» в True:
После сохранения настроек пула приложений он будет автоматически перезагружен.
Если вышеописанные настройки произведены верно, поставщик данных Oracle готов к работе с Excel Calculation Service.
Для корректного проведения авторизации на сервере баз данных Oracle также необходимо настроить Службу безопасного хранения (Secure Store Service). Существует два варианта хранения учетных данных для подключения к источнику данных Oracle: непосредственно в книге Excel (embedded) и в Службе безопасного хранения. Хоть это и не кажется очевидным, настраивать SSS необходимо в обоих случаях, поскольку для Excel Calculation Services в обоих случаях необходима учетная запись, от имени которой на сервере будут выполняться запросы к источнику данных Oracle. Эта учетная запись называется учетной записью автоматической службы (Unattended service account). Таким образом, следует сначала настроить Excel Calculation Service на использование учетной записи автоматической службы, а затем, при необходимости, также настроить конечное приложение SSS для авторизации в Oracle. Подробные инструкции о выполнении настройки для SQL авторизации приведены в статье TechNet, настройка для источника данных Oracle производится аналогично. При этом предпочтительнее использование SSS для хранения учетных данных Oracle, поскольку в случае указания учетных данных в строке подключения книги Excel, они хранятся в незашифрованном виде.
Также следует отметить возможность использования файлов подключения к данным (.ODC) для удобства организации и управления способами получения данных службами Excel. Подробно об этом в статье на TechNet.
ORA-01019 подключение к Oracle из Excel
Я установил Oracle 10g Express Edition. При попытке проверить соединение я получаю сообщение об ошибке «Ошибка при попытке получить текст для ошибки ORA-01019».
У меня недавно произошла следующая ошибка.
Мне удалось решить проблему, просто изменив строку подключения.
кто-то изменил / обновил компоненты на коробке.
«ORA-01019 не удалось выделить память на стороне пользователя
Причина. Распределитель памяти на стороне пользователя возвратил ошибку.
Действие: Увеличьте размер кучи процесса или переключитесь на старый набор вызовов.»
Продолжение из комментариев:
Не могли бы вы попробовать этот код?
закрыть конец соединения
(Это не помещалось в поле для комментариев)
Вам нужен как минимум один водитель. Драйвер оракула лучше, но Microsoft Driver тоже будет работать.
Давайте сначала попробуем создать строку подключения. Щелкните правой кнопкой мыши на рабочем столе и создайте новый файл.txt. Теперь переименуйте ваш текстовый файл в нечто.udl Дважды щелкните файл udl. Перейдите к «Поставщику» и выберите Microsoft OLEDB Provider для Oracle. Затем нажмите на следующий. В поле имени сервера вы вводите свое имя TNS. Затем введите имя пользователя и пароль и вставьте V в поле «Разрешить сохранение пароля» (оно нам понадобится). Нажмите на тестовое соединение. Убедитесь, что это работает.
Если это работает, нажмите ОК. Теперь откройте файл UDL с помощью текстового редактора. Вы увидите нечто похожее на:
Скопируйте эту часть в строку подключения:
Теперь ваша строка подключения должна выглядеть так:
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)
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.
Подключение к базе данных Oracle с помощью Excel
Я пытаюсь подключиться к базе данных Oracle на нашем сервере из листа Excel, но у меня возникают проблемы с пониманием, почему.
Я в настоящее время как 32-разрядные и 64-разрядные Oracle 12c установлены в разных ORACLE_HOME с и имеют 32-разрядную установку Excel на моем 64-разрядном компьютере.
Я пытаюсь подключиться к базе данных Oracle в Excel с использованием нового запроса мастера.
Когда я щелкаю из базы данных Oracle Я получаю следующее сообщение об ошибке / сообщении.
Я могу продолжить с моим текущим поставщиком, но когда я на самом деле пытаюсь подключиться к базе данных, я получаю это:
То , что я не понимаю, почему я получаю эту ошибку , когда у меня есть и 32-разрядные и 64-разрядные версии Oracle 12c , установленная на моем компьютере. Оба включены в моем PATH переменном (32-битном первый), и я также включал конкретные ORACLE_HOME и TNS_ADMIN указать на мою 32-битной установку , так как мой Excel является 32-битным.
Я очень хочу, возможность запроса из базы данных с помощью Excel, но эта проблема путает меня к смерти.
РЕДАКТИРОВАТЬ
Я также только что добавил драйвера ODBC от моей Oracle Home’S в исходном инструмент администратора ODBC Data.
Это в настоящее время в состоянии соединиться с помощью этого инструмента.
Но когда я пытаюсь подключиться к идти через ODBC Connection мастер, я знаю , получаю это:
Как установить 32bit и 64bit Oracle Client?
Укороченная версия:
Ваш первенствует является 32bit , и вы пытаетесь использовать 32bit Oracle. Я предполагаю , что вы запускаете 64 — битную версию «ODBC Administrator» — там может быть несоответствие. Или у вас есть проблемы в вашем PATH отношении %ORACLE_HOME% и / или %ORACLE_HOME%bin папки
Длинная версия:
Ваш Excel является 32 — битной, так и в целом вы сделали правильный подход, поставив 32 — битный клиент в PATH и ORACLE_HOME , вы не можете смешивать 32bit и 64bit сборки в одном процессе. Кстати, если вы будете следовать инструкциям выше вашего Windows , будет управлять автоматически.
Я предполагаю , что вы установили Oracle Instant Client. Instant Client по умолчанию не включает ни какой — либо драйвер ODBC , ни поставщика Oracle Data (ODP.NET, Oracle.DataAccess.Client )
Вы можете иметь 2 драйвера ODBC, один из Oracle обычно называемый как Oracle в OraClient12_home1 и один из Microsoft под названием ODBC Microsoft для Oracle (который должен быть установлен путем установки Windows , по умолчанию, однако он также требует клиента Oracle).
Драйвер ODBC от Oracle доступна для 32 — битных и 64 — битных, драйвер Microsoft выйдет только для 32 — битных. У вас есть 2 ODBC Администраторы, 32bit (бег c:WindowsSysWOW64odbcad32.exe ) и 64 — битный (бег c:WindowsSystem32odbcad32.exe ). Там вы должны увидеть установленные драйверы для 32 соответственно. 64 — битная.
Поставщик данных Oracle
Для поставщика данных у вас есть подобная ситуация. У вас есть один из Microsoft ( поставщик Microsoft .NET Framework данных для Oracle , System.Data.OracleClient ) и от Oracle ( Provider Oracle Data для .NET , Oracle.DataAccess.Client , несколько версий). Оба доступны для 32 — битной и 64 — битной.
В принципе, это не имеет значения, какой драйвер / поставщик используется для подключения к Oracle — только архитектуре (т.е. 32 против 64 бит) должны соответствовать. Каждый водитель / поставщик требует установки Oracle соотв клиента. Все водители / провайдеры от Microsoft устарели, вы должны предпочитать те Oracle (как указано в сообщении предупреждения)
Oracle предоставляет также ODP.NET, управляемый драйвер , который не требует какой — либо дальнейшей установки Oracle Client и работает на оба, 32 — битном и 64 — битном. Тем не менее, я не знаю , можно ли использовать это в Excel.
И последнее , но не в последнюю очередь, вы также поставщика OLE DB. Опять один из Microsoft ( Microsoft OLE DB Provider для Oracle ) и один из Oracle ( Oracle Provider для OLE DB ). Поставщик Microsoft существует только для 32 — битных и устаревшим.