Oracle: ORA-12154: проблема TNS: 64-разрядная версия Excel / 64-разрядная версия Windows 10 - PullRequest
0 голосов
/ 06 ноября 2018

Я под Windows 10 64-битная с Office 2016 64-битная. Просто нужно подключиться к базе данных Oracle 11g (11.2.0) с помощью Excel (чтобы использовать Power Query / BI).

Сначала было установлено: Клиент Oracle Database 11g Release 2 (11.2.0.1.0) для Microsoft Windows (x64) (https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html)

Я получил ошибку пропуска 64-битных компонентов, после чего установил: 64-битный ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy для Windows x64 (https://www.oracle.com/technetwork/database/windows/downloads/index-090165.html)

и теперь есть ошибка: «[DataSource.Error] Oracle: ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения»

Я уже делал то же самое, используя Windows 7 64-bit HOWEVER с 32-разрядной версией Office 2016, как и клиент oracle, и на нем не был установлен ODAC. И раньше он работал так замечательно.

У меня есть тот же файл TNSNAMES.ORA со всеми записями, потому что я знаю, что он работает для 32-битного офиса. Таким образом, файл TNSNAMES.ORA не будет проблемой (расположение> C: \ oracle \ product \ 11.2.0 \ client_1 \ Network \ Admin).

Я пробовал много вещей из сообщений стека, таких как переменная среды, изменения в реестре, проверка установки ... но я действительно не понимаю. Просто нужен 64-битный Excel для соединения с oracle 11g, только это, но работает только 32-битный ...

Кажется, это такая специфическая проблема, и это сводит меня с ума. Пожалуйста, если кто-то может помочь, пожалуйста, используя «простое» объяснение, я буду очень признателен.

1 Ответ

0 голосов
/ 06 ноября 2018

Вам будет сложно помочь, потому что вы не предоставили столько информации, поэтому я дам несколько более общих советов.

Все компоненты должны быть в одной архитектуре. Если ваш Excel / Office является 64-битным, то клиент Oracle и ODAC также должны быть 64-битными. База данных может быть 32-битной или 64-битной в любом случае.

Если вы хотите подключиться из Excel к базе данных Oracle, вы можете использовать либо драйвер ODBC, либо драйвер OLE DB. Оба доступны от Microsoft и от Oracle. Поскольку вы не упомянули ODBC, я предполагаю, что вы используете драйвер OLE DB.

Драйверы Microsoft ODBC и OLE DB поставляются вместе с Windows, однако они старые ( ODBC устарела и OLE DB устарела ) и существуют только для 32-разрядных , Вот почему вы можете подключиться из 32-разрядного Excel к Oracle только с помощью Oracle InstantClient.

Если вы работаете с 64-битной версией, вам придется использовать драйверы Oracle, что также означает, что вы должны установить их отдельно, поскольку они не являются частью стандартной установки Windows - это пакет ODAC, который вы установили.

Теперь, когда вы получаете сообщение об ошибке ORA-12154: TNS:could not resolve the connect identifier specified, ваша установка в целом работает. Различные драйверы, указанные выше, имеют разные пути для поиска файла tnsnames.ora, см. Определение местоположения соответствующего файла tnsnames.ora

Создайте переменную окружения TNS_ADMIN=C:\oracle\product\11.2.0\client_1\Network\Admin, так как переменная окружения, похоже, имеет наивысший приоритет над всеми остальными настройками. Я думаю, что ваше приложение должно быть в состоянии разрешить псевдоним. В противном случае данные в вашем файле tnsnames.ora могут быть неправильными (возможно, опечатка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...