Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2012-03-12 15:36:06 +0400

grinya Gravatar grinya

FUNC_ODBC + сложные запросы

Добрый день! Есть запись в файле /etc/asterisk/func_odbc.conf

[ADD] prefix=QUEUES whitehandle=queues insertsql=INSERT INTO queue_member_table (queue_name,penalty,interface) SELECT queue_name,penalty,'SIP/${ARG1}' from queue_eq_users where callerid_num='${ARG1}' 

Но от asterisk'a получаю ответ:

module reload func_odbc.so -- Reloading module 'func_odbc.so' (ODBC lookups) == Parsing '/etc/asterisk/func_odbc.conf': == Found [2012-03-12 15:28:56] WARNING[4824]: func_odbc.c:1026 init_acf_query: Section 'ADD' was found, but there was no SQL to execute. Ignoring. [2012-03-12 15:28:56] ERROR[4824]: func_odbc.c:1531 reload: Cannot initialize query ADD 

Подскажите, пожалуйста, что не так. Прошу не говорить делать через AGI, сейчас так и сделано, просто стало интересно что можно сделать с помощью func_odbc

FUNC_ODBC + сложные запросы

Добрый день! Есть запись в файле /etc/asterisk/func_odbc.conf

[ADD] prefix=QUEUES whitehandle=queues insertsql=INSERT INTO queue_member_table (queue_name,penalty,interface) SELECT queue_name,penalty,'SIP/${ARG1}' from queue_eq_users where callerid_num='${ARG1}' 

Но от asterisk'a получаю ответ:

module reload func_odbc.so -- Reloading module 'func_odbc.so' (ODBC lookups) == Parsing '/etc/asterisk/func_odbc.conf': == Found [2012-03-12 15:28:56] WARNING[4824]: func_odbc.c:1026 init_acf_query: Section 'ADD' was found, but there was no SQL to execute. Ignoring. [2012-03-12 15:28:56] ERROR[4824]: func_odbc.c:1531 reload: Cannot initialize query ADD 

Подскажите, пожалуйста, что не так. Прошу не говорить делать через AGI, сейчас так и сделано, просто стало интересно что можно сделать с помощью func_odbc

Запрос описанный в файле, отрабатывает нормально, проверял через isql-connector, другие запросы, вроде

[READ] prefix=QUEUES readhandle=queues readsql=SELECT count(*) FROM queue_member_table where queue_name='${ARG1}' 

выполняются без проблем

FUNC_ODBC + сложные запросы

Добрый день! Есть запись в файле /etc/asterisk/func_odbc.conf

[ADD] prefix=QUEUES whitehandle=queues insertsql=INSERT INTO queue_member_table (queue_name,penalty,interface) SELECT queue_name,penalty,'SIP/${ARG1}' from queue_eq_users where callerid_num='${ARG1}' 

Но от asterisk'a получаю ответ:

module reload func_odbc.so -- Reloading module 'func_odbc.so' (ODBC lookups) == Parsing '/etc/asterisk/func_odbc.conf': == Found [2012-03-12 15:28:56] WARNING[4824]: func_odbc.c:1026 init_acf_query: Section 'ADD' was found, but there was no SQL to execute. Ignoring. [2012-03-12 15:28:56] ERROR[4824]: func_odbc.c:1531 reload: Cannot initialize query ADD 

Подскажите, пожалуйста, что не так. Прошу не говорить делать через AGI, сейчас так и сделано, просто стало интересно что можно сделать с помощью func_odbc

Запрос описанный в файле, отрабатывает нормально, проверял через isql-connector, другие запросы, вродек примеру:

[READ] prefix=QUEUES readhandle=queues readsql=SELECT count(*) FROM queue_member_table where queue_name='${ARG1}' 

выполняются без проблем

FUNC_ODBC + сложные запросы

Добрый день! Есть запись в файле /etc/asterisk/func_odbc.conf

[ADD] prefix=QUEUES whitehandle=queues insertsql=INSERT INTO queue_member_table (queue_name,penalty,interface) SELECT queue_name,penalty,'SIP/${ARG1}' from queue_eq_users where callerid_num='${ARG1}' 

Но от asterisk'a получаю ответ:

module reload func_odbc.so -- Reloading module 'func_odbc.so' (ODBC lookups) == Parsing '/etc/asterisk/func_odbc.conf': == Found [2012-03-12 15:28:56] WARNING[4824]: func_odbc.c:1026 init_acf_query: Section 'ADD' was found, but there was no SQL to execute. Ignoring. [2012-03-12 15:28:56] ERROR[4824]: func_odbc.c:1531 reload: Cannot initialize query ADD 

Подскажите, пожалуйста, что не так. Прошу не говорить делать через AGI, сейчас так и сделано, просто стало интересно что можно сделать с помощью func_odbc

Запрос описанный в файле, отрабатывает нормально, проверял через isql-connector, другие запросы, к примеру:

[READ] prefix=QUEUES readhandle=queues readsql=SELECT count(*) FROM queue_member_table where queue_name='${ARG1}' 

выполняются без проблем

проблем Если сделать так:

[ADD] prefix=QUEUES readhandle=queues whitehandle=queues writesql=INSERT INTO queue_member_table (queue_name,penalty,interface) SELECT queue_name,penalty,'SIP/${ARG1}' from queue_qe_users where callerid_num='${ARG1}' 

то ошибки такие:

[2012-03-12 16:22:53] ERROR[5182]: func_odbc.c:902 init_acf_query: There is SQL, but no ODBC class to be used for writing: ADD [2012-03-12 16:22:53] ERROR[5182]: func_odbc.c:1531 reload: Cannot initialize query ADD 

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.