1. Главная страница » Компьютеры

Excel подключение к oracle

Автор: | 16.12.2019

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

В настоящее время у меня установлен 32-разрядный и 64-разрядный Oracle 12c в разных ORACLE_HOME и на моем 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 32-битный, и вы пытаетесь использовать 32-битный Oracle. Я предполагаю, что вы запускаете 64-битную версию «Администратора ODBC» — может быть несоответствие. Или у вас есть проблема в вашем PATH относительно папки %ORACLE_HOME% и / или %ORACLE_HOME%in

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

Ваш 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 Client. Все драйверы / провайдеры от Microsoft устарели, вы должны предпочесть драйверы Oracle (как указано в предупреждающем сообщении)

другие

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

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

Подключение к базе данных Oracle (Power Query)

​Смотрите также​​: И так с​mrzv​ строке подключения Set​: Здравствуйте, раньше не​ осталась последняя проблема​ ‘Password=пароль;’ ‘Получаем данные​ строку подключения.​ сотрудники умеют считать​ спеца, в крутой​B.Key​ Хочу в дальнейшем​ экспортный файл из​ Буду осень признательна​ вас! К сожалению,​.​ перейдите к Access​Примечание:​ проблемой провайдера я​: Вот такой код,​ cn = CreateObject("ADODB.Connection")​ имел дела с​

​ — это runtime​ из БД через​Elhust​ деньги.​ конторе, стоит 200$,​

​: "Некустарные", как правило​​ настроить фильтр, чтобы​ ПО, и выполнит​ за помощь.​ познания в VBA​​В диалоговом окне​​ компоненты данных (ODAC)​Мы стараемся как​ разобрался​ я получаю нужную​ cn.Open "Prov организациях​ стоимость нормочаса крутого​ не отвечают запросам​ выгружался только нужный​ то, что будет​Мотя​ очень скудны. Без​База данных Oracle​ 32-разрядная Oracle с​

​ можно оперативнее обеспечивать​Криво стояли драйвера​ мне информацию, но​

​ Вставка​​anvg​​ сотрудники умеют бездумно​​ спеца excel 20$.​​ конечных пользователей​​ филиал. Смысл еще​​ заложено в алгоритм​​: Почему Вы выбрали​ вашей помощи не​​в поле​​ помощью инструментов разработчика​​ вас актуальными справочными​​ oracle​​ кириллица вопросами. Что​​Не удается найти​

​На просторах нашего​​ при выполнении Open.​​ даннных из полученого​​, Спасибо буду изучать​​ тратить деньги, даже​​Срок исполнения данной​​, либо отвечают,​

Далее

​ в том, чтобы​​ макроса.​​ такой громоздкий путь?​​ обойтись. Мне необходимо​​Имя сервера​ Oracle для Visual​ материалами на вашем​Последний раз когда​ я делаю не​ указанный поставщик.Вероятно, он​

​ форума нашел вот​ Единственное подозрение у​ набора записей ‘1-й​ )​ не понимая сколько​​ задачи "oracle спеца​​ за "очень серьезные"​ максимально автоматизировать работу​Максим Зеленский​Это — из​ осуществить следующее: необходимо​укажите сервер Oracle,​

​ Studio (12.1.0.2.4) установить​​ языке. Эта страница​​ я их устанавливал​

​ так? Sub ImpOracle()​ установлен неправильно.​ такую строку подключения​

​ меня на то,​​ вариант — все​​Sinister​ это стоит на​

​ в крутой конторе"​​ деньги.​​ сотрудников, чтобы им​

Подключение к Базе данных Oracle из Excel с помощью VBA

​: всякое в жизни​​ серии "Слон и​
​ написать макрос в​ к которому нужно​ 32-разрядного клиента Oracle​ переведена автоматически, поэтому​ я качал их​ Set cn =​sokol92​ Set cn =​ что неправильно указан​ полученные записи вставляются​: Люди! Подскажите, pls,​ самом деле.​ 1 день ТЗ,​Мотя​ не пришлось ручками​ бывает.​ Моська".​ Excel. Цель такая:​ подключиться. Если требуется​ или ODAC 64-разрядной​ ее текст может​ вот отсюда​ CreateObject("ADODB.Connection") cn.Open "ODBC;DBQ=192.168.200.253:1521/XE;U но как​

​ Каким его задавать?​​ на лист Range(‘адрес​ который по данным​
​Что говорить, "совок"​ документов, 2-7(возможно и​ ситуаций:​
​ БД, ни устанавливать​: "Серьезные" организации кустарные​ прошло успешно, а​ кнопку сотрудник любого​
​ можно указать в​ Xcopy для Windows​
​ грамматические ошибки. Для​ файл:​ "select partner_short_name, trunc(OUTCOME_DATE_SALE)​полном объеме​ настроить под свой​ В OrantNETWORKADMINTnsnames.ora записано​
​ верхней левой ячейки’).CopyFromRecordset​ запроса к базе​ привык так жить.​ меньше) дней выполнение.​
​1. ПО -​ как вариант developer​ поделки, как правило,​
​ что будет в​ филиала получал выгрузку​ формате "Имя_сервера/ИД_безопасности".​ x64 12 cустановить​ нас важно, чтобы​64-bit ODAC 12.2c​ d, sum(roh.sum_w_nds) s,count(1)​. По умолчанию указанный​
​ лад не пойму.​ имя, которое я​ rsORA ‘2-й вариант​
​ данных Oracle устанавливал​B.Key​Срок исполнения данной​ "кривое", то бишь,​ для выгрузки данных,​ не покупают.​

​ филиалах?​​ из базы данных​Если данные нужно импортировать​

​ 64-разрядную клиента Oracle.​​ эта статья была​ Release 1 (12.2.0.1.1)​ h from t_partner​

​ выше драйвер может​​ На счет Data​ пытался использовать в​
​ — вставляются определенные​

​ бы значения переменных​​: Пользуйтесь на здоровье​ задачи "крутого спеца​ кустарное.​ чтобы выгружать нужную​Максим Зеленский​Не завидую Вашим​ одного программного обеспечения​ с использованием запроса​Более новые версии​ вам полезна. Просим​ for Windows x64​ p, T_REMOTE_ROZNICA_OUTCOME_HEAD roh​ и не устанавливаться.​ Source=***;Password=***;User >

​ секунд и сообщить,​​ 2018] — 406​ p.PARTNER_ID and trunc(OUTCOME_DATE_SALE)​ что разрядности (32-​А вот Provider​ неправильно?​ rsORA.EOF . Range(‘адрес​ бы пример соединения​Мотя​Зачем платить больше,​ не признают!​ с реализацией задуманного.​Ну, будем надеяться​ не может быть​ подключил пользователя к​ в поле​Щелкните на вкладке "​ помогла ли она​

​ MB (426,617,132 bytes)В​​ between sysdate -​ или 64-) клиента​ какой нужно использовать?​​meja​ ячейки’)=rsORA.Fields(номер поля из​ с базой через​

​: Почти, цитаты "от​​ если второй сделает​Цитатаhipersa пишет: Хочу​
​ Какой код VBA​hipersa​ примитивным: в нем​
​ базе. Через excel​Инструкция SQL​данные​
​ вам, с помощью​ этом архиве есть​ 3 and sysdate​ Oracle и MS​Я установил драйвер​: Может быть и​​ запроса — начинается​ ODBC и строку​ министра финансов", когда​ лучше.​ в дальнейшем настроить​ можно было бы​: Смысл данной работы​

​ не может отсутствовать​​ осуществила подключение через​. Дополнительные сведения см.​" выберите​ кнопок внизу страницы.​ нормальный setup​ group by partner_short_name,​

​ Office должны совпадать.​​ с сайта oracl​
​ в этом ошибка,​ с 0).Value . ​ выполнения запроса и​ он затягивает песню​———​
​ фильтр, чтобы выгружался​ использовать для подключения​ в том, чтобы​ цивилизованный экспорт в​ Microsoft Query. Драйвер​ в статье Импорт​Получение данных​
​ Для удобства также​Правильная строка подключения​ trunc(OUTCOME_DATE_SALE)" Set Rs​sokol92​
​ "Oracle in instantclient_18_3"​ но скорее всего​ rsORA.MoveNext Wend ‘Закрываем​
​ считывания значений разультата​
​ "Разговор в пользу​Скрытый текстНу если​ только нужный филиал.Неужели​

​ к базе? Заранее​​ начальники в филиалах​
​ EXCEL.​ указала как "Microsoft​ данных из базы​>​ приводим ссылку на​
​ выглядит вот так:​ = GetRs(sSql, cn)​: Проверить доступность провайдера​ имя его "SQORA32.DLL".​ в другом: нужно​

​ переменные rsORA.Close cnORA.Close​​ его выполнения.​ бедных".​ только заказчик откат​ ПО не определяет​
​ большое спасибо!​ имели возможность в​Изучите шаблоны экспорта​
​ ODBC for Oracle"​ данных с помощью​Из базы данных​ оригинал (на английском​ Set cn =​ Sheets("Лист1").[a1].CopyFromRecordset Rs Rs.Close​
​ можно через Меню/Данные/Из​
​ivanok_v2​ еще дописать Set​

​Sinister​​Заранее благодарен!​vikttur​ получит​

​ права пользователя?!​​B.Key​ любую минуту выгрузить​ Вашего ПО во​ (правильно ли именно​ запроса на ее​

​>​​ языке) .​
​ CreateObject("ADODB.Connection") cn.Open "Prov >

Как Подключиться к базе Oracle ? (Макросы/Sub)

​ Set Rs =​​ других источников/Из мастера​: ConnectionString для всех​ rsORA = New​: У меня на​meja​: Хватит флудерства.​Мотя​

​ЦитатаB.Key пишет: "Некустарные",​​: Sub ImpOracle() Set​
​ нужную информацию, не​ все форматы, которые​ его использовать?), пользователь​ языке.​Из базы данных Oracle​С помощью Excel Get​ Source=192.168.200.253:1521/XE;User >

​ Nothing End Sub​​ подключений/Дополнительно (путь дан​​ языков програмирования однаковая.​​ as ADODB.Recordset, чтобы​ выражении ‘cnORA As​

SQL запрос к Oracle из Excel через ODBC

​: Один из вариант​​Тему закрыл.​: Любопытно, однако.​ как правило не​ cn = CreateObject("ADODB.Connection")​ прибегая к написанию​ в нем предусмотрены.​ (допустим) Crent, Пароль​Нажмите кнопку​. Если кнопка​ & преобразования качества​что касается кодировки при​ Function GetRs(sstr, cn)​ для Excel 2016).​если вы подключаетсь​
​ инициализировать переменную. Я​

​ ADODB.Connection’ возникает ошибка​​ — подключиться, используя​Elhust​Общеизвестно: лучше иметь​ отвечают запросам конечных​
​ cn.Open "Prov очень​

​ = "select *​​ (база программного обеспечения,​ EXCEL.​ Далее нужно, чтобы​Если для сервера Oracle​ кнопку​ данных Oracle.​ так и не​ cn Set GetRs​ DB.Там же можно​ уже есть.​

​Sinister​​ требуется что-то дополнительно​’Объявляем вначале переменные​ подскажите как к​ разного рода "крутыми"​

​ серьезные" деньги.Общеизвестно, СКУПОЙ​​ from xclient_ >

​ С экспортом в​​ и нощно сидящих​ этой базы данных​ пользователя базы данных:​>​ Прежде чем вы можете​ на мой взгляд​ rstdata = Nothing​mrzv​: Как тогда определить​ )​

​ 2000, в котором​​ ADODB.Connection ‘для соединения​ какие библиотеки подключать​
​В "серьезных" организациях​hipersa​ cn) sheets(1).[a1].copyfromrecordset rs​
​ эксель из БД​ в ПО", шаблонному​ (например) xclient_class. Но​В диалоговом окне​Из базы данных​ подключиться к базе​

Подключение к Базе данных Oracle из Excel с помощью VBA

​ способ подключения через​​ End Function​: Спасибо за советЯ​ какой драйвер мне​Кстати, все заработало,​
​ я предполагаю его​ Dim rsORA As​ и что делать​ ни с какими​: , большое вам​ Rs.Close Set Rs​ проблем нет. Но​ экспорту в файл​ как это прописать​Доступ к базе данных​>​
​ данных Oracle с​ Provider более правильный.​
​весь код взял из​ создал подключение ODBC​ нужно использовать?​ когда я изменил​

​ запускать из Excel?​​ ADODB.Recordset ‘для получения​ ?​
​ "крутыми спецами" никогда​ спасибо за код,​ = Nothing end​ нужно, чтобы данные​

​ из ПО в​​ в VBA так,​введите имя пользователя​Из базы данных Oracle​

​ помощью​​Спасибо всем за помощь.​ этой статьи​

​ DNS посмотрел там​​Nordheim​

​ процедуру подключения так:​​meja​ записей ‘Устанавливаем соединение​anvg​ не будут иметь​ за вашу помощь​ sub Function GetRs(sstr,​
​ подгружались именно после​ нужный каталог в​ чтобы я могла​

​ и пароль.​​.​Power Query​​sokol92​​sokol92​ строку подключения .​: Я подключаюсь так​With conn .ConnectionString​: Нужно подключить библиотеку​ с БД Set​: Доброе время суток.​ дела.​

​ и за потраченное​​ cn) Set rstdata​ нажатия определенной кнопки​ нужном формате -​ это все это​Нажмите кнопку​На вкладке ленты​, вам необходимо v8.1.7​: Успехов!​: Вы, похоже, подключили​

​ Вставил её в​​ "Prov ) rstdata.Open​ в Excel (кнопок​
​ элементарно.​

​ могла реализовать без​​Подключиться​Power Query​ программного обеспечения клиента​bedvit​ провайдер Microsoft, а​ свой код и​sokol92​ Source=var1; ‘ &​ Objects 2.x Library​ ADODB.Connection cnORA.Open ‘Prov Data​ остальным. Поставить клиент​ вступать с Вами​B.Key​

​ GetRs = rstdata​ к каждой будет​

​ старт Вашего макросного​​ Просмотрела много литературы,​hipersa​Из базы данных​ на вашем компьютере.​ с родными драйверами​

​ всегда работали с​​ вот русские буквы​mrzv​ Password=var3;’ .Open End​
​Sinister​ Source=имя базы;’ +​
​ баз данных Oracle,​ в полемику, скажу​: Вы не правы.​ Set rstdata =​
​ привязан скрипт на​ файла.​
​ но постоянно какие-то​: Добрый день!​>​
​ Чтобы установить клиентское​ Oracle. Microsoft не​ провайдером Oracle.​ вопросами. ​: Вот такую ошибку​
​ With​: Все очень хорошо​ _ ‘User >

​Стоимость нормочаса oracle​ Nothing End Function​ выгрузку определенной информации).​Макрос сам "найдет"​ ошибки. Пожалуйста, помогите. ​Вся надежда на​Из базы данных Oracle​ программное обеспечение Oracle,​

​ мне выдает на​​mrzv​ скомпилировалось, спасибо Только​ пользователя;’ + _​ стоит, сконфигурировать. Сформировать​

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

С помощью 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.

Читайте также:  Microsoft sql server 2014 express установка

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *