2015-08-11 29 views
9

Asterisk 13 üzerinde MySQL ODBC (libmyodbc5a) sürücüsünü kullanarak gerçek zamanlı uç noktaları ayarlamaya çalışıyorum. Bu yüzden, bir uç nokta kaydolduktan sonra Asterisk Server'ın çöktüğünü gözlemledik. İleti günlüğü gösterir:Asterisk son nokta kaydında kilitleniyor

res_odbc.c: SetConnectAttr (Txn isolation) returned an error: HY000: [MySQL][ODBC 5.3(w) Driver]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7' at line 1 
res_config_odbc.c: SQL Prepare failed![SELECT * FROM ps_domain_aliases WHERE id = ?] 
res_odbc.c: Connection is down attempting to reconnect... 
res_odbc.c: Connecting DE-VOICE 
res_odbc: Connected to DE-VOICE [DE-VOICE-DNS] 
SetConnectAttr (Txn isolation) returned an error: HY000: [MySQL][ODBC 5.3(w) Driver]Lost connection to MySQL server during query 

Herhangi bir yardım MySQL hata mesajı sorgu o ayrıştıramıyor sunucuya gönderilen olduğunu belirtir

+0

belki [bu] (http://dba.stackexchange.com/questions/10578/client-times- dışarı-mysql-sorgu-kalır-çalışan) yardımcı olabilir? –

cevap

0

apperciated edilecektir. MySQL'e gönderilmekte olan şeyin, hata günlüğünde (SELECT * FROM ps_domain_aliases WHERE id =?) Ne yazdığını tam olarak söyleyemiyorum, çünkü sözdizimi hatası '7' içeriyor. Ben ODBC sorguyu genişletir tahmin ediyorum ama belki de bunu doğru yapmaz. Bunu hata ayıklaması yapsaydım, yapacağım ilk şey, MySQL bağlantı noktasındaki trafiği yakalamak (varsayılan olarak 3306) için tcpdump veya başka bir paket yakalama yardımcı programı kullanmak ve gerçekte neyin gönderildiğini bulmaktır. Daha sonra çöpü doğruladıktan sonra ODBC sürücüsü ve yıldız işaretini yükseltirdim, sonra belki de MySQL ile konuşmak için başka bir yol kullanmak için Yıldız işaretini yapılandırmayı denerdim.

0

Beklenen bir "?" Değerini simüle edebilirsiniz. Sorguda, NoOp ile çalıştırın ve sonra beklenen sonucu IN mysql gösterip göstermediğini görmek için, sonuçta oluşan sorguyu mysql içinde çalıştırın.

Ayrıca

Ayrıca

, id koymak deneyin .. ayıklamayı etkinleştirmek ve aslında neler olduğunu görmek için, yıldız işareti içinden ayrıntı artırabilir =? örnek '' in:

SELECT * FROM ps_domain_aliases WHERE id = "?" 

Sana bir tamsayı göndermek biliyorum, ama yine de ..

İlgili konular