Переходите на новый сайт Базы знаний. Актуализация контента происходит теперь там.





Установка ODBC-драйвера для Oracle
1. Войдите через SQL Developer.

Предположим, в нашем подключении, пользователь SYS, пароль 123. Нажмите на кнопку «Test». При успехе будет показано сообщение «SUCCESS».
2. Далее нужно скачать Basic Package и ODBC драйвер :
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

В примере приводится установка 18 версии драйвера. Также возможна установка 21 версии.
Скачанные архивы распаковать в ОДНУ папку на диске C, например: C:\instantclient_18_5

Запустите файл
C:\instantclient_18_5\ODBC-install.exe


Инструкция по установке будет указана внизу страницы:
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
Пройдите все шаги по установке из этой ссылке.
3. Содержимое файла C:\oracle\instantclient_18_5\network\admin в нашем примере:

XE=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.90)(PORT = 1234))
    )
    (CONNECT_DATA = 
      (SERVICE_NAME = XE)
	  (SYSDBA = TRUE)
    )
  )
4. Пропишите переменные окружения (системные и пользователя):

LD_LIBRARY_PATH = "C:\oracle\instantclient_18_5"
OCI_HOME = "C:\oracle\instantclient_18_5"
OCI_LIB_DIR = "C:\oracle\instantclient_18_5"
PATH = "C:\oracle\instantclient_18_5"
NLS_LANG = "AMERICAN_AMERICA.CL8MSWIN1251"
TNS_ADMIN = "C:\instantclient_12_2\network\admin"
5. Проверьте работоспособность драйвера. Для этого откройте "Источники данных ODBC (64-разрядная версия)."

В открывшемся окне перейдите во вкладку "Драйверы" и убедитесь, что драйвер для Oracle есть в списке.
Далее перейдите во вкладку "Пользовательский DNS" и нажмите на кнопку "Добавить".
В открывшемся окне в списке выберите драйвер для Oracle.

Нажмите готово. Откроется окно настроек драйвера.

Внимание! Если пароль равен 123. В появившемся окне "Oracle ODBC Driver Connect" надо ввести 123 as sysdba

Нажмите на ОК, в случае успеха будет показано сообщение "Connection successful".

6. Теперь драйвер ODBC должен быть виден в списке драйверов PIX BI при создании нового источника.

В случае ошибки "Protocol Adapter Error" допишите в поле "Другие параметры" следующую строку:

DBQ=XE; 
,где XE – название базы. Совпадает с названием базы из поля "База данных".
1. Установим драйвер UnixODBC

sudo apt update
sudo apt install unixodbc
Убедимся, что установилась версия больше чем 2.3.4

odbcinst -j host 
Скопируем в домашнюю директорию файлы по ссылке

oracle-instantclient-basic-21.11.0.0.0-1.el8.x86_64.rpm
oracle-instantclient-odbc-21.11.0.0.0-1.el8.x86_64.rpm
oracle-instantclient-sqlplus-21.11.0.0.0-1.el8.x86_64.rpm
Установим эти пакеты

sudo apt install alien
sudo alien --install --scripts -v oracle-instantclient-basic-21.11.0.0.0-1.el8.x86_64.rpm
sudo alien --install --scripts -v oracle-instantclient-odbc-21.11.0.0.0-1.el8.x86_64.rpm
sudo alien --install --scripts -v oracle-instantclient-sqlplus-21.11.0.0.0-1.el8.x86_64.rpm


cd /usr/lib/oracle/21/client64/bin
./odbc_update_ini.sh /
5. Установим переменные окружения


export LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:$LD_LIBRARY_PATH
export PATH=/usr/lib/oracle/21/client64/bin:$PATH
export NLS_LANG=RUSSIAN_CIS.AL32UTF8
export TNS_ADMIN=/usr/lib/oracle/21/client64/lib/network/admin
source /etc/bash.bashrc
Выполняем команду

 env

Важно, чтобы была выделенная на изображении запись:

LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:
6. При помощи любого текстового редактора создадим файл

/etc/odbcinst.ini
 [Oracle]
Description     = Oracle ODBC driver for Oracle
Driver          = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
Setup           =
FileUsage       =
CPTimeout       =
CPReuse         =
Обратите внимание на то, что путь драйвера именно /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
7. При помощи любого текстового редактора создадим файл:

/etc/odbc.ini

[ODBC Data Sources]
TESTORA=Test Oracle Connection

# For Oracle ODBC Client
[TESTORA]
Driver = Oracle
Description = Oracle connection
HostName = <ip*.*.*.*>
Port=1251
ServerName=<!service_name>

[Default]
Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
8. Теперь драйвер доступен из PIXBI