linux QT 连接SQLServer(最新教程)
本文只针对QODBC驱动正常,odbc,freetds已安装的伙伴,然后现在配置 及qt连接数据库
1.源码编译安装odbc,freetds
2.配置刚安装的软件+截图证明
#配置freetds.conf(感觉freetds.conf这个文件不用管,就先照着配置一下吧)
A typical Microsoft server
[SQLSERVER]
host = 127.0.0.1\\sqlexpress
port = 1433
tds version = 1.00.109
client charset = UTF-8
#配置odbc:odbc.ini文件
[remotesql] //数据源名称,可自己命名,在qt中会用到这个名称,这里为了方便区分我用的远程服务
Description = sqlserver connection #相当于备注一下这个文件干嘛的
Driver = FreeTDS #连接sqlserver的fds驱动名,在odbcinst.ini中配置
TDS_Version = 8.0
Trace = On
TraceFile = stderr
Server = 服务器ip... #服务器名称,若远程数据库,则是服务器ip
Database = 学生成绩管理系统 #要连接的数据库,
Port = 1433
# 配置odbc:odbcinst.ini 指向freetds的驱动文件
[FreeTDS]//驱动名,可自己命名,在odbc.ini中会用到
Description=FreeTDS driver #相当于备注一下这个文件干嘛的
Driver=/usr/local/freetds-1.00.109/lib/libtdsodbc.so #在你自己的tds安装目录下的,找到这个驱动文件libtdsodbc.so
3.连接数据库
#注意观察上述odbc.ini文件的配置情况
bool conndb::DaBa()
{
QSqlDatabase db;
if(QSqlDatabase::contains("qt_sql_default_connection"))
{
db = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
db=QSqlDatabase::addDatabase("QODBC");
}
db.setDatabaseName("localsql");//注意odbc.ini文件的配置情况
db.setUserName("sa");
db.setPassword("@sql2012");
db.open();
if(db.open())
{
qDebug()<<"connect to server successfully";
return true;
}
else
{
qDebug()<<"connect to server failed!!";
printf("%s\n",db.lastError().text().toLatin1().data());
return false;
}
}
#效果图,通过配置odbc,freetds这种方法实现linux下的qt连接SQLServer可以发现在以往的教材中这行代码不需要用到。。。
QString dsn="DRIVER={FreeTDS};SERVER=;DATABASE=学生成绩管理系统";//