Я пытаюсь подключиться к базе данных 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 пишет: Хочу
Какой код VBAhipersa примитивным: в нем
базе. Через 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 Rssokol92
"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 = Nothingmrzv: Как тогда определить )
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 Querysokol92sokol92 строку подключения .: Я подключаюсь так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.




