Как установить odbc драйвер для oracle

Обновлено: 03.07.2024

В связи с участившимися вопросами "как ставить oracle client" опубликую что-то вроде инструкции из собственного опыта.

Первым делом нужно обзавестись самим клиентом, его можно скачать с сайта Oracle или еще где-то. Понадобится

  • instantclient-basic-win32-XXXX.zip
  • instantclient-odbc-win32-XXXX.zip (если требуется чтобы драйвер Oracle появился в Панель управления → Источники данных (ODBC))

Для работы PHP OCI8 и TOAD вполне будет достаточно только архива instantclient-basic. Приступим.

Распаковываем instantclient-basic-win32-10.2.0.4.zip в нужное место, в моем случае это C:\Program Files\Oracle\instantclient_10_2 (этот путь будет везде использоваться дальше по тексту, так что заменяйте на свой).

Под Windows 7 x64 клиент x32 работает вполне нормально и решает поставленные задачи, но никто не запрещает воспользоваться версией клиента x64.

Идем в Панель управления → Система → Дополнительно → Переменные среды. Там в разделе "Системные переменные" создаем следующие (имя переменной = значение)

LD_LIBRARY_PATH = C:\Program Files\Oracle\instantclient_10_2
NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251
ORACLE_HOME = C:\Program Files\Oracle\instantclient_10_2
SQL_PATH = C:\Program Files\Oracle\instantclient_10_2
TNS_ADMIN = C:\Program Files\Oracle\instantclient_10_2\network\ADMIN

NLS_LANG может быть другой в зависимости от потребностей.

А к переменной PATH дописываем (не забываем про ;)

PATH += C:\Program Files\Oracle\instantclient_10_2

Теперь создаем папку C:\Program Files\Oracle\instantclient_10_2\network\ADMIN и в ней файл tnsnames.ora , в котором прописываем все SID к которым будем коннектиться.

Для работы клиента требуются DLL

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

  • bcrypt.dll
  • ieshims.dll (в принципе работает и без нее на Win7)
  • mfc71.dll
  • msvcr71.dll
  • ncrypt.dll
  • wer.dll

Где их взять ответит гугль, скачиваем, распаковываем в C:\Windows\System32 (можно ребутнуться для профилактики).

Если требуется работа приложений через ODBC драйвер

Распаковываем instantclient-odbc-win32-10.2.0.4.zip в нужное место, в моем случае это C:\Program Files\Oracle\instantclient_10_2 и запускаем оттуда odbc_install.exe

После всех этих операций у большинства все начинает работать, надеюсь и вам это поможет :)

Если требуется работа x32 приложений через ODBC в Windows x64

Вот тут начинается самая хитрость, тк в панели управления в источниках данных ODBC нет драйвера Oracle! Поэтому нужно запустить управление ODBC x32, который, на удивление, расположен в C:\Windows\SysWoW64 (см. KB 942976 от M$). Для этого нужно выполнить команду:

И в открывшемся окне будет доступна возможность создать DSN с драйвером Oracle.

По Вашему запросу ничего не найдено.

Рекомендуем сделать следующее:

  • Проверьте правильность написания ключевых слов.
  • Используйте синонимы введенных Вами ключевых слов, например “приложение” вместо “программное обеспечение”.
  • Попробуйте воспользоваться одним из популярных поисковых запросов ниже.
  • Начните новый поиск.

Oracle Instant Client ODBC Installation Notes

Installing Oracle Instant Client Basic and Basic Lite

Instant Client ODBC requires the Oracle Instant Client Basic or Basic Light package (depending on your locale requirements) also be installed. Download the desired package from OTN for your operating system and follow the installation instructions on the download page. For example, unzip the package to C:\instantclient_19_3 on Windows, unzip to /opt/oracle/instantclient_19_3 on Linux or other platforms, or use yum to install the RPM packages on Linux.

Installing Oracle Instant Client ODBC

On Linux and UNIX

1. Download Install the Instant Client Basic or Basic Light package as described above.

2. Download the Instant Client ODBC package. Unzip it in the same directory as your Basic or Basic Light package. Or, if using the RPM package on Linux, install it with yum .

3. Install the unixODBC driver manager if it is not already available. Refer to the "Recommended unixODBC Driver Manager version" section in this document for more information.

4. Execute odbc_update_ini.sh from the Instant Client directory.

5. Set any Oracle Globalization variables required for your locale. See the Oracle Database Globalization Support Guide for more information. For example on Linux you could set export NLS_LANG=JAPANESE_JAPAN.JA16EUC to work in the JA16EUC character in Japanese.

Usage: odbc_update_ini.sh <ODBCDM_Home> [<Install_Location> <Driver_Name> <DSN> <ODBCINI>]

* - Optional parameters

On Windows

  1. Install the Instant Client Basic or Basic Light package, as described above.
  2. Download the Instant Client ODBC package. Unzip it in the same directory as your Basic or Basic Light package.
  3. Execute odbc_install.exe from the Instant Client directory. If Instant Client is 11g or lower, start the command prompt with the Administrator privilege. To install with Japanese language support, execute the command odbc_install.exe JA .

Environment setup for ODBC applications

Contents of the Oracle Instant Client ODBC Package

Description Linux and UNIX Windows
Oracle ODBC driver shared library libsqora.so.XX.Y. For example libsqora.so.19.1 sqora32.dll
Installation file odbc_update_ini.sh odbc_install.exe, odbc_uninstall.exe
Oracle ODBC driver configuration dialog window (GUI) Not available sqoras32.dll, sqresus.dll, sqresja.dll
Help System help/ help/

Patching Oracle Instant Client ODBC

Note: Backup the Oracle ODBC driver shared library and other files before patching them.

Alternatively the Oracle Instant Client ODBC driver can be patched by copying the files that are listed below from a patched ORACLE_HOME:

  • ODBC driver shared library file:
    For 19c: libsqora.so.19.1
    For 18c: libsqora.so.18.1
    For 12c: libsqora.so.12.1
    For 11g: libsqora.so.11.1
  • Required additional files when using Oracle Instant Client Basic:
    For 19c: libociei.so, libclntshcore.so.19.1, libclntsh.so.19.1, libnnz19.so, libons.so
    For 18c: libociei.so, libclntshcore.so.18.1, libclntsh.so.18.1, libnnz18.so, libons.so
    For 12c: libociei.so, libclntshcore.so.12.1, libclntsh.so.12.1, libnnz12.so, libons.so
    For 11g: libclntsh.so.11.1, libociei.so, libnnz11.so
  • Required additional files when using Oracle Instant Client Basic Light:
    For 19c: libclntsh.so.19.1, libclntshcore.so.19.1, libociicus.so, libnnz19.so, libons.so
    For 18c: libclntsh.so.18.1, libclntshcore.so.18.1, libociicus.so, libnnz18.so, libons.so
    For 12c: libclntsh.so.12.1, libclntshcore.so.12.1, libociicus.so, libnnz12.so, libons.so
    For 11g: libclntsh.so.11.1, libociicus.so, libnnz11.so

On Windows Patching the Instant Client ODBC driver on Windows can be done only by manually copying the ODBC driver shared library files and supporting library files from a patched ORACLE_HOME or from an unpacked Oracle Database Bundle patch. These should be copied into the Instant Client directory. Generating an Instant Client ODBC package is not available on Windows.

The files that must be copied to the Instant Client directory:

  • ODBC driver shared library files: sqora32.dll, sqoras32.dll, sqresus.dll, sqresja.dll
  • Required additional files when using Oracle Basic Instant Client:
    For 19c: oraociei19.dll, orannzsbb19.dll, oci.dll, oraons.dll, ociw32.dll, oraociei19.sym, orannzsbb19.sym, oci.sym, ociw32.sym
    For 18c: oraociei18.dll, orannzsbb18.dll, oci.dll, oraons.dll, ociw32.dll, oraociei18.sym, orannzsbb18.sym, oci.sym, ociw32.sym
    For 12c: oraociei12.dll, orannzsbb12.dll, oci.dll, oraons.dll, ociw32.dll, oraociei12.sym, orannzsbb12.sym, oci.sym, ociw32.sym
    For 11g: oraociei11.dll, orannzsbb11.dll, oci.dll, ociw32.dll, oraociei11.sym, orannzsbb11.sym, oci.sym, ociw32.sym
  • Required additional files when using Oracle Basic Light Instant Client:
    For 19c: oraociicus19.dll, orannzsbb19.dll, oci.dll, oraons.dll, ociw32.dll, oraociicus19.sym, orannzsbb19.sym, oci.sym, ociw32.sym
    For 18c: oraociicus18.dll, orannzsbb18.dll, oci.dll, oraons.dll, ociw32.dll, oraociicus18.sym, orannzsbb18.sym, oci.sym, ociw32.sym
    For 12c: oraociicus12.dll, orannzsbb12.dll, oci.dll, oraons.dll, ociw32.dll, oraociicus12.sym, orannzsbb12.sym, oci.sym, ociw32.sym
    For 11g: oraociicus11.dll, orannzsbb11.dll, oci.dll, ociw32.dll, oraociicus11.sym, orannzsbb11.sym, oci.sym, ociw32.sym

Note: While copying from the Oracle Database Bundle patch, some of the files above may be missing. This implies that those files are unchanged and do not need to be patched.

Шаг 1. Проверьте установку драйвера.

Примечание:

Шаг 2. Настройте источник данных с помощью приложения Database Explorer.

Приложение Database Explorer получает доступ к Microsoft ODBC Data Source Administrator автоматически, когда вы конфигурируете источник данных ODBC. В качестве альтернативы можно получить доступ к Microsoft ODBC Data Source Administrator с помощью configureODBCDataSource функция.

В разделе Data Source выберите Configure Data Source> Configure ODBC data source.


В диалоговом окне ODBC Data Source Administrator вы задаете источник данных ODBC.

Совет

При подготовке источника данных ODBC можно задать пользовательское имя источника данных (DSN) или систему DSN. Пользователь DSN характерен для человека, регистрируемого в машину. Только этот человек видит источники данных, которые заданы на пользовательской вкладке DSN. Система DSN не характерна для человека, регистрируемого в машину. Любой человек, который регистрирует в машину, видит источники данных, которые заданы на системной вкладке DSN. Ваша способность настроить пользователя DSN или система, DSN зависит от базы данных и драйвера ODBC, который вы используете. Для получения дополнительной информации свяжитесь с администратором базы данных или обратитесь к документации драйвера ODBC.

Кликните по вкладке System DSN, и затем нажмите Add.


Диалоговое окно Create New Data Source открывает и отображается список установленных драйверов ODBC.

Выберите драйвер ODBC Oracle in OraClient11g_home1 .

Примечание

Имя драйвера ODBC может варьироваться.

Нажмите Finish.


В диалоговом окне Oracle ODBC Driver Configuration введите соответствующее имя для источника данных. Вы используете это имя, чтобы установить связь с вашей базой данных. Здесь, в поле Data Source Name, введите ORA как имя источника данных. В поле Description введите описание для этого источника данных, такого как Oracle database . В поле TNS Service Name введите имя своей базы данных.

Можно настроить источник данных ODBC с или без аутентификации Windows.

Чтобы установить источник данных без аутентификации Windows, введите свое имя пользователя в поле User ID. Или, чтобы установить источник данных с аутентификацией Windows, оставьте это незаполненное поле. Оставьте Application, Oracle, Workarounds и вкладки SQLServer Migration с настройками по умолчанию.

Нажмите Test Connection, чтобы протестировать связь с вашей базой данных. Диалоговое окно Driver Connect ODBC Oracle открывается. Если вы устанавливаете источник данных с аутентификацией Windows, диалоговое окно Testing Connection открывается.

Нажмите OK в диалоговом окне Oracle ODBC Driver Configuration. Диалоговое окно ODBC Data Source Administrator показывает источнику данных ODBC ORA .

После того, как вы завершаете настройку источника данных, соединяетесь с базой данных Oracle с помощью приложения Database Explorer или командной строки с нативной связью ODBC.

Шаг 3. Подключение с помощью приложения Database Explorer или командной строки.

Соединитесь с Oracle Используя приложение Database Explorer

На вкладке Database Explorer, в разделе Connections, нажимают Connect и выбирают источник данных для связи.

Если вы создаете связь с аутентификацией Windows, оставляете пробел полей Username и Password в диалоговом окне связи и нажимаете Connect. В противном случае введите имя пользователя и пароль и нажмите Connect.

Диалоговое окно Catalog и Schema открывается.

В списке Schema выберите схему. Нажмите OK.

Приложение соединяет с базой данных и отображениями свои таблицы в панели Data Browser. Вкладка источника данных появляется справа от панели. Заголовок вкладки источника данных является именем источника данных, которое вы задали во время настройки. Вкладка источника данных содержит пустой SQL Query и панели Data Preview.

Выберите таблицы в панели Data Browser, чтобы запросить базу данных.

Закройте вкладку источника данных, чтобы закрыть SQL-запрос. В разделе Connections закройте соединение с базой данных путем нажатия на Close Connection.

Примечание

Если многочисленные связи открыты, закрывают соединение с базой данных по вашему выбору путем выбора соответствующего источника данных из списка Close Connection.

Соединитесь с Oracle Используя драйвер ODBC и командную строку

Чтобы соединиться с аутентификацией Windows, соединитесь с базой данных с аутентифицируемым именем источника данных ODBC и пустым именем пользователя и паролем. Например, этот код принимает, что вы соединяетесь с источником данных под названием Oracle_Auth .

Или, чтобы соединиться без аутентификации Windows, соединитесь с базой данных с именем источника данных ODBC. Например, этот код принимает, что вы соединяетесь с источником данных под названием Oracle с именем пользователя username и пароль pwd .

Я использую ODBC для доступа к Oracle из Excel через DAO (это отдельная большая тема, к которой я ещё планирую вернуться). Да, я знаю, что есть Oracle Objects for OLE, но «так исторически сложилось».

Результаты потрясают воображение.

Итак, архив с драйвером занимает около . Те файлы, которые нам необходимы, в неархивированном виде занимают около 900 K. Всё остальное — загадочная служебная информация.

При выборе версии роль играют первые два числа. Так, для клиента 8.1.x я брал драйвер версии 8.1.7.8.10, а для клиента 9.2.x — 9.2.0.6.0. Все нужные нам файлы хранятся в трёх архивах, находящихся в одном из подкаталогов дерева, получившегося после разархивирования скачанного с OTN файла. Путь к этому подкаталогу (внимание!) — . Для удобства дальнейшей работы перепишем все файлы из этих архивов в отдельный каталог, а то, что осталось, безжалостно удалим. Мало того, даже из этих файлов нам понадобится не всё. Вот список файлов для драйвера версии 8.1.x:

А вот тут — для версии 9.2.x:

Списки файлов, как видно, не отличаются друг от друга.

Теперь надо во-первых, скопировать файлы туда, куда нужно, и во-вторых, сделать запись в реестре о том, что драйвер установлен. Обладатели Windows NT/2000/XP могут воспользоваться следующим batch-файлом:

Обладатели же Windows 95/98/ME могут снести свою оболочку и установить нормальную систему или же скопировать sq*.dll в каталог ORACLE_HOME\bin , oraodbc.ini в каталог C:\WINDOWS , deckan32.dll в ORACLE_HOME\ODBC , а oraodbcus.msb — в ORACLE_HOME\ODBC\Mesg .

В batch-файле упоминается файл oraodbc.reg . Вот он:

Пользователям Windows семейства NT беспокоиться не о чем — batch сам выполнит всю необходимую работу, а вот поклонникам/заложникам 9x придётся вручную добавить к этому файлу две строки:

разумеется, подставив вместо ORACLE_HOME имя каталога, куда установлен клиент Oracle.

Ну, и наконец, финальный аккорд — создание Data Source, то есть источника данных. Обычно это делается через панель управления, но в конечном счёте, всё сводится к записи в реестр. Вот пример такой записи:

В данном случае ora92 — имя источника. Оно встречается трижды — как название переменной в ключе ODBC Data Sources , как название ключа и как значение переменной DSN в этом ключе. В переменной Driver указывается полный путь к драйверу — пользователям Windows NT не составит труда получить его тем же способом, что и в инсталляторе. Обратите внимание, что клиент Oracle не воспринимает пробелы в путях, поэтому надо использовать короткие имена. Ну, и наконец, переменные ServerName , Password и UserId я не заполняю — предпочитаю делать это в вызывающей программе, но вы можете заполнить их прямо в реестре.

Дочитавшим эту статью до конца желаю надёжных дисков и достоверных данных!

* Для тех, кто понимает: цитата из повести Юрия Сотника «Эликсир Купрума Эса»
** Говорят, что программа не должна быть больше, чем 64 К. Всё, что больше, уже не программа, а приложение.
*** Бытует шутка, что в недрах Microsoft уже готова новая разработка — Microsoft Universal Data Access Components.
Поиск
См. также

Иногда мне приходится слышать, что Oracle очень сложен в настройке, «вот ××× — совсем другое дело». Перестать обращать внимание на подобные заявления мне помог случай. »»»

Для начала следует понять, какие вопросы нас интересуют: pазумеется, хиты и хосты, количество визитов по ссылкам, количество визитов с поисковых серверов — это, фактически, случайные посетители. »»»

во-первых, процедуру копирования нужно вызвать из программы на VisualBasic, а во-вторых, у пользователя нет прав на запись в каталог. »»»

Рекомендую
Copyright notice

ъ) Все материалы, размещённые на странице, являются неотъемлемой собственностью автора с вытекающими отсюда правами, как ©, так и (ъ). Некоммерческое их распространение всячески приветствуется, разумеется, при условии сохранения ссылки на оригинал. Что касается коммерческого использования — пишите письма, договориться можно всегда.

Не подскажете, можно ли из ораклового клиента вычленить только те dll-ки/odbc-записи в реестре, которые позволят только работать с Oracle через ODBC (в принципе, меня интересует 10.1.0.2.0)?

-----------------------------------------------------------------
Part III: Exploding the Kit onto your system
-----------------------------------------------------------------

Expand the self-extracting archive file onto your hard drive.

Oracle ODBC Driver 10.2.0.2.0

This section assumes the following:

1. Oracle Universal Installer shipping with 10.2.0.0.0 has already been
installed on your system.

2. Part III has been completed.

Refer to release notes (ODBCRelnotesUS.htm) for a complete list of
Software fixes.

Once the self-extracting archive file ORA10202.EXE has been
exploded it will create an installable directory structure
onto your hard drive. Run the Oracle Universal Installer from
your local drive.

1. On the screen "File Locations" use the "Browse" button of
the source path to choose the file 'products.jar' from the
folder that ORA10202.EXE was extracted to. Choose 'Next'.

2. You will receive a warning that some of the dependencies of
this product are not found in the staging area. This warning
is OK. The ODBC driver depends on the Net Client being already
installed on the system. Answer 'Yes' to continue.

Можно хотя бы вкратце объяснить что же мне такое нужно сделать при помощи Oracle Universal Installer ? Я честно говоря, очень рассчитывал увидеть некоторый Install shield, который мне сам в систему скопирует необходимые библиотеки и создаст соответствующие записи в реестре.. А тут одни jar-ники и т.п. Как быть?

Я готов всё ручками прорегить (как и говорил вначале) - только до сих пор не пойму как и что именно..

и делал всё попорядку:

на машине, где ранее ставился оракл при помощи стандартного клиента всё ОК - у меня выдаётся
NLS_LANGUAGE=RUSSIAN

а на машине, где я только что ставил всё как описал
NLS_LANGUAGE=AMERICAN

Читайте также: