danila77 Опубликовано 8 ноября, 2018 · Жалоба Собственно и весь вопрос в названии. К базе подключиться могу, и запрос в консоли выполняется. SELECT TOP 1 famil+' '+imja+' '+otch AS fio FROM dbo.F2 WHERE ntel='тут номер телефона' OR cellular='тут номер телефона' Выбираем клиента по номеру. это работает если руками. Куда прописать чтобы само пока не понятно. У меня Elastix 4 . Пока решил это выгрузкой из виндовой базы и последующей загрузкой в базу Elastix. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
murano Опубликовано 11 ноября, 2018 · Жалоба Больше похоже не на вопрос, а на рассуждение вслух. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
danila77 Опубликовано 11 ноября, 2018 (изменено) · Жалоба Да, похоже на мысли вслух. Мне лично частенько помогает, можно посмотреть на свои мысли со стороны. В общем докопался сам. После того что получилось у меня в первом сообщении делаем следующее: 1. Создаём функцию в func_odbc.conf [F_I_O] dsn=MS_SQL read=SELECT famil+' '+imja+' '+otch AS fio FROM dbo.F2 WHERE ntel='${ARG1}' OR cellular='${ARG1}' 2. В res_odbc_custom.conf [MS_SQL] enabled => yes dsn => MS_SQL share_connections => no limit => 5 username => sa2 password => 1234 pre-connect => yes max_connections => 30 3. В extensions_custom.conf создаём custom destination и марширутизируем вызов на него. [from-trunk-sip-EDK-custom] exten => _X.,1,Noop(Fixing DID using information from SIP TO header) exten => _X.,n,Set(CALLID=${CALLERID(num):-10}) exten => _X.,n,Set(ret_func=${ODBC_F_I_O(${CALLID})}) exten => _X.,n,set(CALLERID(name)=${ret_func}) exten => _X.,n,Set(GROUP()=OUT_13) exten => _X.,n,Goto(ext-group,600,1) Если кто заинтересуется, могу написать как к MSSQL подключился. Изменено 11 ноября, 2018 пользователем danila77 добавил сообщение Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 11 ноября, 2018 · Жалоба @danila77 Напишите, способов-то уже много. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
danila77 Опубликовано 11 ноября, 2018 · Жалоба У меня заработал следующий способ. 1. подключаем репозиторий майкрософт (msprod.repo) 2. устанавливаем пакеты как на скриншоте. (может нужны и не все, но я поставил так) 3. в /etc/odbcinst.ini: [ODBC_Driver_17_for_SQL_Server] Description=Microsoft ODBC Driver 17 for SQL Server Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1 UsageCount=1 В названии драйвера поменял пробелы на подчёркивания, с пробелами почему-то не работало. 4. В odbc.ini: [MS_SQL] Driver=ODBC_Driver_17_for_SQL_Server Server=адрес сервера Port=1433 Database=имя базы UID=пользователь для запроса PWD=пароль Тут в реквизиты для подключения. 5. проверяем настройки: osql -S MS_SQL -U пользователь -P пароль Если видим такое: Configuration looks OK. Connection details: DSN: MS_SQL odbc.ini: /etc/odbc.ini Driver: /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1 Server hostname: у меня тут IP сервера Address: у меня тут IP сервера Attempting connection as sa2 ... + isql MS_SQL пользователь пароль -v +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> То значит подключение проходит, и можно делать запрос. Если выходят ошибки, то смотрим что не так и исправляем. У меня просто выкидывало пробелы в названии драйвера, после выше приведённого исправления заработало. msprod.repo Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EugeneTV Опубликовано 12 ноября, 2018 · Жалоба 14 часов назад, danila77 сказал: В названии драйвера поменял пробелы на подчёркивания, с пробелами почему-то не работало. Возможно надо было закавычить название Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
danila77 Опубликовано 13 ноября, 2018 · Жалоба 20 часов назад, EugeneTV сказал: Возможно надо было закавычить название Возможно , но во всех найденых инструкциях ковычек небыло. К тому же в ошибках вываливалось название драйвера с пропущенными пробелами (всё слитно) из чего я сделал вывод что пробелы там лишние. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...