Страница 1 из 1

MySQL - ODBC

СообщениеДобавлено: 09 окт 2018, 15:12
hcost
Приветствую всех!

Понадобилось тут прикрутить к рабочему Астериску (13.21) сбор CDR, CEL в MySQL.
Вроде бы по описанию всё просто.
Базу создал, пользователя со всеми правами тоже. Через isql база доступна, таблицы видны.

Но сам Asterisk ни в какую не хочет цепляться через ODBC к БД. Необходимые модули установлены, но в процессе перезапуска * или рестарта одного модуля res_odbc выдает в лог только следующее:

"res_odbc.c: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified"

odbc show выдает следующее:

ODBC DSN Settings
-----------------
Name: asteriskcdrdb
DSN: MySQL-asteriskcdrdb
Last connection attempt: 2018-10-09 13:45:03
Number of active connections: 0 (out of 20)

Настройки:

res_odbc.conf:

[asteriskcdrdb]
enabled => yes
dsn => MySQL-asteriskcdrdb
username =>asterisk
password =>*****
pre-connect => yes
sanitysql => select 1
max_connections => 20
forcecommit => no
isolation => repeatable_read
connect_timeout => 10


odbc.ini:

[MySQL-asteriskcdrdb]
Description=MySQL Asterisk database
Driver=MySQL
Trace=Yes
TraceFile=/var/log/odbc.log
Server=localhost
Port=3306
Database=asterisk
User=asterisk
Password=*****
Option=3
Socket=/var/lib/mysql/mysql.sock

odbcinst.ini:

[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib64/libmyodbc8a.so
Setup=/usr/lib64/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc8a.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=1


Кто-то сталкивался с таким? Буду очень благодарен за любые советы!

Re: MySQL - ODBC

СообщениеДобавлено: 09 окт 2018, 16:42
ded
У нас таких нет директории /usr/lib64/ и файлов
/usr/lib64/libmyodbc8a.so
/usr/lib64/libodbcmyS.so
/usr/lib64/libmyodbc8a.so
/usr/lib64/libodbcmyS.so

а есть такая
/usr/lib/x86_64-linux-gnu/odbc/libodbcdrvcfg1S.so
/usr/lib/x86_64-linux-gnu/odbc/libodbcdrvcfg2S.so
/usr/lib/x86_64-linux-gnu/odbc/libodbcminiS.so
/usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
/usr/lib/x86_64-linux-gnu/odbc/libodbcnnS.so
/usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
/usr/lib/x86_64-linux-gnu/odbc/libodbctxtS.so

В настройках res_odbc.conf не увидел параметра
database=
у нас =asteriskcdrdb

Re: MySQL - ODBC

СообщениеДобавлено: 09 окт 2018, 22:07
hcost
У нас таких нет директории /usr/lib64/ и файлов


у вас похоже Ubuntu. у меня CentOS (виноват, сразу про это не упомянул)

В настройках res_odbc.conf не увидел параметра
database=
у нас =asteriskcdrdb


Не встречал требований параметра Database в res_odbc.conf.
Там вроде только DSN нужен, он присутствует в конфиге

Re: MySQL - ODBC

СообщениеДобавлено: 11 окт 2018, 10:04
BorisTheBlade
Судя вот по этому "Data source name not found, and no default driver specified" предположу астериск не может прочитать odbc.ini
Проблема в правах доступа\локации файла ?

Re: MySQL - ODBC

СообщениеДобавлено: 11 окт 2018, 16:48
hcost
"Проблема в правах доступа\локации файла ?"

Права на odbc.ini у всех есть. Расположен в etc, где и положено

Re: MySQL - ODBC

СообщениеДобавлено: 29 окт 2018, 01:54
indrik
Код: выделить все
chown :asterisk /etc/unixODBC/odbc.ini


Мне помогло.