Qt unixODBC and FreeTDS
-
Hi,
I am trying to connect Qt with MSSQL server DB, for this I am using unixODBC and FreeTDS.
I tested unixODBC and FreeTDS, they were working fine, as I tested isql, tsql.
The problem was Qt is not refering to the settings files(~/.odbc.ini and ~/freetds.ini) but Qt is refering to some other location, hence I am getting the error "QSqlError(0, "QODBC3: Unable to connect", " [unixODBC][Driver Manager]Data source name not found, and no default driver specified")"
How I can tell Qt to point to the settings file location. or how I can get on which location Qt is refering.
I created the symbolic link of the files in (/etc , /usr/local/etc, /etc/unixODBC/) but none of them were working.
Any help will be appreciated greatly, thnx in advance:) -
My ini file content
cat ~/.odbc.ini
[MSSQL]
Driver = FreeTDS
Description = Northwind sample database
Trace = No
Server = 122.165.14.207
Port = 1433
Database = JSEB_SBM
cat /usr/local/etc/freetds.conf
#$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
[MSSQL]
host = 122.165.14.207
port = 1433
tds version = 7.1
and my Qt call
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setDatabaseName("MSSQL");
db.setUserName("sa");
db.setPassword("*******");
db.setHostName("122.165.14..207");
db.setPort(1433);