这是我的测试源码:
qDebug()<<QSqlDatabase::drivers();
// 建立连接
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("testdsn");
db.setUserName("sa");
db.setPassword("longzhou@2014?");
if(!db.open())
{
qDebug("=== %s",qPrintable(db.lastError().text()));
}else
{
qDebug("==== ok");
}
然后执行报错:("QSQLITE", "QODBC3", "QODBC", "QPSQL7", "QPSQL")
=== [unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect
root@ubuntu:/usr/local/etc# cat odbc.ini
下面是我的配置文件,谁能帮我看一下错误原因啊
[testdsn] # 数据源名称
Driver=FREETDS# 指向odbcinst.ini的驱动配置
Description=MSSQL Server
Description = sample database
Trace = Yes
Servername=testdsn # 数据源名称
Database=ncpjgSys #数据库名称
root@ubuntu:/usr/local/etc# cat odbcinst.ini
[FREETDS]
Description=freetds driver
Driver=/usr/local/lib/libtdsodbc.so #指定TDS驱动路径
Trace=yes
TraceFile=/tmp/odbc.log # 启用ODBC日志记录
root@ubuntu:/usr/local/etc# cat freetds.conf
[testdsn]
host = 192.168.1.232
port = 1433
tds version = 7.1
root@ubuntu:/usr/local/etc# ls //usr/local/lib/libtdsodbc.so
//usr/local/lib/libtdsodbc.so
------解决思路----------------------