<div dir="ltr"><div><br></div><div>Hello,</div><div><br></div><div>I'm stuck with getting cdr records stored in MySql database. I have a working realtime environment and have verified that the db connection works fine when used via res_config_mysql.conf. I'd appreciate Your help on how to get the odbc connector working as I think there's something wrong with its configuration.</div><div><br></div><div>The problem presented itself as an error when making a call that was supposed to be stored in mysql cdr: Unable to retrieve database handle.  CDR failed.</div><div>This kept popping up every time I was trying to have a call be stored in my mysql cdr table, and I traced the problem to the odbc connector, where my knowhow is about to end. </div><div><br></div><div>One problem may be that odbcinst -j outputs wrong ini files, I believe I need these to be under /etc/ instead of /usr/local/etc/, but I'm unsure about how to change those permanently.</div><div><br></div><div># odbcinst -j</div><div>unixODBC 2.3.2</div><div>DRIVERS............: /usr/local/etc/odbcinst.ini</div><div>SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini</div><div>FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources</div><div>USER DATA SOURCES..: /root/.odbc.ini</div><div>SQLULEN Size.......: 4</div><div>SQLLEN Size........: 4</div><div>SQLSETPOSIROW Size.: 2</div><div><br></div><div>Odbcinst does see the connection, it reads it from /usr/local/etc/odbcinst.ini.</div><div># odbcinst -q -d</div><div>[MySQL]</div><div><br></div><div>I tried copying my connection information onto those files listed above and I'm not getting any errors in Asterisk logs when restarting Asterisk. However:</div><div># echo "select 1" | isql -v MySQL</div><div>[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified</div><div>[ISQL]ERROR: Could not SQLConnect</div><div><br></div><div><br></div><div>Here's the contents of odbc.ini:</div><div><br></div><div>[MySQL-asterisk]</div><div>Description = MySQL Asterisk database</div><div>Trace = Off</div><div>TraceFile = stderr</div><div>Driver = MySQL</div><div>SERVER = serverip</div><div>USER = myuser</div><div>PASSWORD = mypass</div><div>PORT = 3306</div><div>DATABASE = asterisk</div><div><br></div><div>And odbcinst.ini:</div><div>[MySQL]</div><div>Description     = ODBC for MySQL</div><div>Driver          = /usr/lib/libmyodbc5.so</div><div>Setup           = /usr/lib/libodbcmyS.so</div><div>Driver64        = /usr/lib64/libmyodbc5.so</div><div>Setup64         = /usr/lib64/libodbcmyS.so</div><div>FileUsage       = 1</div><div><br></div><div>And here I hit a wall, how can I fix the configuration? </div><div><br></div><div><br></div><div>MySQL-asterisk is referred to in res_odbc.conf, whose label is referred to in cdr_odbc.conf. When the odbc connector starts working, is this the correct way to configure the cdr db connection in Asterisk?</div><div><br></div><div>Thanks,</div><div>Olli</div></div>