mysql - Asterisk、Mysql、Odbc( 'data' 中的未知列 'field list')

标签 mysql odbc asterisk unixodbc pbx

我使用 Asterisk 16.5.0、Mysql 5.7.28 和 MySQL ODBC 8.0 Unicode 驱动程序。 我通过 ODBC 连接配置了与 MySql 的连接。 一段时间后,Asterisk 会显示这样的警告。

[2019-12-11 15:34:06] WARNING[1995]: res_odbc.c:538 ast_odbc_print_errors: SQL Prepare returned an error: 42S22: [MySQL][ODBC 8.0(w) Driver][mysqld-5.7.28-log]Unknown column 'data' in 'field list'
[2019-12-11 15:34:06] WARNING[1995]: res_config_odbc.c:122 custom_prepare: SQL Prepare failed! [INSERT INTO queue_log (time, data, event, agent, queuename, callid) VALUES (?, ?, ?, ?, ?, ?)]

重新启动Asterisk后,问题不再出现。 但一段时间后问题开始出现。

最佳答案

听起来你的queue_log表缺少数据字段,它应该看起来像:

CREATE TABLE `queue_log` (
  `recid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `origid` int(10) unsigned NOT NULL DEFAULT '0',
  `callid` varchar(32) NOT NULL DEFAULT '',
  `queuename` varchar(32) NOT NULL DEFAULT '',
  `agent` varchar(32) NOT NULL,
  `event` varchar(32) NOT NULL DEFAULT '',
  `data` varchar(100) NOT NULL DEFAULT '0',
  `data1` varchar(128) NOT NULL DEFAULT '0',
  `data2` varchar(128) NOT NULL DEFAULT '0',
  `data3` varchar(128) NOT NULL DEFAULT '0',
  `data4` varchar(128) DEFAULT NULL,
  `data5` varchar(128) DEFAULT NULL,
  `time` datetime DEFAULT '1970-01-01 00:00:01',
  `datetime` datetime DEFAULT '1970-01-01 00:00:01'
);

关于mysql - Asterisk、Mysql、Odbc( 'data' 中的未知列 'field list'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59289316/

相关文章:

asterisk - 开始使用Asterisk的最佳方法是什么?

PHP/MySQL 多重嵌套 SELECT

odbc - 如何通过 ODBC 连接对 BigQuery 进行查询?

postgresql - PowerBI 直接查询连接到 PostgreSQL 错误。 OLE 或 ODBC 错误 : [Expression. 错误] 我们无法将表达式折叠到数据源

android - Asterisk 中的文件传输支持

asterisk - 如何从 Asterisk REST API (ARI) 获取所有拨号事件?

MySqlException : Table 'dbname.AspNetUsers' doesn't exist

mysql - 我需要将多个查询结果合并到一个结果中

php - 多个系列、多个图表 Highcharts

PHP ODBC 错误 : tried to allocate 4294967293 bytes