Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / ODBC SELECT ARRAY

ODBC SELECT ARRAY

Ищу ошибку
Сообщений: 84

ODBC SELECT ARRAY

[GET_PHONE_REDIRECT]
dsn=asteriskfunctins
read=SELECT active,time,destnumber FROM redirect where usernumber='${ARG1}' - так не хочет выдавать значения
;read=SELECT destnumber FROM redirect where usernumber='${ARG1}' - так выдаёт одно значение, что и задумывалось

Вот так пытаюсь запихать переменные

exten => 999028,n,Set(ARRAY(active,time,destnumber)=${ODBC_GET_PHONE_REDIRECT(${EXTEN})})

Вот так вот в консоли

-- Executing [999028@test-redirect:2] Set("SIP/128-b7720728", "ARRAY(active|time|destnumber)=") in new stack
-- Executing [999028@test-redirect:3] NoOp("SIP/128-b7720728", "ACTIVE = ") in new stack
-- Executing [999028@test-redirect:4] NoOp("SIP/128-b7720728", "TIME = ") in new stack
-- Executing [999028@test-redirect:5] NoOp("SIP/128-b7720728", "destnumber = ") in new stack

Вот не могу извлечь несколько данных разом. У меня Asterisk 1.4.21.
2009-09-28 13:54

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: ODBC SELECT ARRAY

1) включи логирование запросов в БД, чтобы было видно что уходит в нее
2) покажи то, что проиходило ДО приведенных строк CLI
3) попробуй поставить пробелы после запятой
4) запрос должен быть в одну строку.
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-09-28 14:18

Сообщений: 84

Re: ODBC SELECT ARRAY

Пробовал пробелы ставить и не ставить в ARRAY и в SELECT

В консоли ни чаго и нет больше, специально для теста всего этого пару строчек.

-- Executing [999028@test-redirect:1] NoOp("SIP/128-b6b5e918", "999028") in new stack
-- Executing [999028@test-redirect:2] Set("SIP/128-b6b5e918", "ARRAY(active| time| destnumber)=") in new stack
-- Executing [999028@test-redirect:3] NoOp("SIP/128-b6b5e918", "ACTIVE = ") in new stack
-- Executing [999028@test-redirect:4] NoOp("SIP/128-b6b5e918", "TIME = ") in new stack
-- Executing [999028@test-redirect:5] NoOp("SIP/128-b6b5e918", "destnumber = ") in new stack
-- Executing [999028@test-redirect:6] Busy("SIP/128-b6b5e918", "") in new stack
== Spawn extension (test-redirect, 999028, 6) exited non-zero on 'SIP/128-b6b5e918'

Логи пока не могу, боюсь FrePBX отвалиться или CDR перестанут собираться, дёргнуть не могу клиенты разговоры говорят.
2009-09-28 14:40

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: ODBC SELECT ARRAY

тогда в logger.conf
добавь/раскоментируй строчку

console => notice,warning,error,debug,verbose
messages => notice,warning,error,debug,verbos

и перезагрузи логгер

module reload logger

тогда будут валиться ошибки в консоль, а не только в лог
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-09-28 14:44

Сообщений: 84

Re: ODBC SELECT ARRAY

Я тут по покопался, вместо яиц вставил новые глаза, и правильно запрос спрашивал в БД time -> timer
Буду дальше по книжке эксперименты ставить. Спасибо, что не бросили.
2009-09-28 14:50

Сообщений: 84

Re: ODBC SELECT ARRAY

console => notice,warning,error,debug,verbose
messages => notice,warning,error,debug,verbos
Спасибо, полезная штука.

2009-09-28 14:52

Сообщений: 135

Re: ODBC SELECT ARRAY

Страшная штука, на самом деле. Особенно на отличной от нуля нагрузке

Лучше включить logging в самом odbc (odbcinst.ini):

man:

[xxx]
Trace = Yes
TraceFile = /tmp/sql.log


Или банально воспольнозоваться tcpdump с -As0, в mysql/postgresql квери и ответы летят в практически нормально читаемом plain text
2009-09-28 22:23

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru