 <p>Ok, so I solved it (pretty much). The password and username in my odbc files were being ignored. Because I was calling the DB queries from Asterisk, I was using a file called res_odbc.ini too. This contained my username and password also, and when I run the query from Asterisk, it conencts and returns the correct result.</p> <p>In case it helps, here is my final working configuration.</p> <p>odbc.ini</p> <pre><code>[asterisk-connector] Description = MS SQL connection to asterisk database driver = /usr/lib64/libtdsodbc.so servername = SQL2 Port = 1433 User = MyUsername Password = MyPassword </code></pre> <p>odbcinst.ini</p> <pre><code>[FreeTDS] Description = TDS connection Driver = /usr/lib64/libtdsodbc.so UsageCount = 1 [ODBC] trace = Yes TraceFile = /tmp/sql.log ForceTrace = Yes </code></pre> <p>freetds.conf</p> <pre><code># $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $ # # This file is installed by FreeTDS if no file by the same # name is found in the installation directory. # # For information about the layout of this file and its settings, # see the freetds.conf manpage "man freetds.conf". # Global settings are overridden by those in a database # server specific section [global] # TDS protocol version ; tds version = 4.2 # Whether to write a TDSDUMP file for diagnostic purposes # (setting this to /tmp is insecure on a multi-user system) dump file = /tmp/freetds.log ; debug flags = 0xffff # Command and connection timeouts ; timeout = 10 ; connect timeout = 10 # If you get out-of-memory errors, it may mean that your client # is trying to allocate a huge buffer for a TEXT field. # Try setting 'text size' to a more reasonable limit text size = 64512 # A typical Sybase server [egServer50] host = symachine.domain.com port = 5000 tds version = 5.0 # A typical Microsoft server [SQL2] host = 192.168.1.59 port = 1433 tds version = 8.0 </code></pre> <p>res_odbc.conf</p> <pre><code>[asterisk-connector] enabled = yes dsn = asterisk-connector username = MyUsername password = MyPassword pooling = no limit = 1 pre-connect = yes </code></pre> <p>Remember if you are using Centos 64 bit to modify the driver path to lib64. Most of the guides online have the wrong (for 64 bit) paths.</p> <p>Good luck - it's a headache :)</p>