当前位置: 代码迷 >> SQL >> QT 联接SQLServer
  详细解决方案

QT 联接SQLServer

热度:64   发布时间:2016-05-05 12:09:22.0
QT 连接SQLServer

? ? ? QtSql虽说提供了通用的数据库访问接口,可是有些数据库就是不太通用, 在windows下用QT连接sqlserver,折腾了半天.?

一. 配置

? ? 1. 启用TCP/IP

? ? ?安装好sqlserver2005后, 开始菜单找到 配置工具->SQL Server配置管理器:

? ? ?SQLEXPRESS 的协议,启用TCP/IP,启用相应IP地址; SQL Native Client 配置, 客户端协议, 启动TCP/IP, TCP/IP属性设置监听1433端口?

? ??

? ? 2. 启用远程连接

? ? 配置工具->SQL Server外围应用配置器-> 本地连接和远程连接,勾选同时使用TCP/IP和named pipes即可

?

二. 连接

QSqlDatabase OpenDB(){	QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");	// 注意,对于express版本数据库, 一定要加\\sqlexpress这种后缀	QString dsn="DRIVER={SQL SERVER};SERVER=192.168.1.126\\sqlexpress;DATABASE=sqlscada";	db.setDatabaseName(dsn);	db.setUserName("sa");	db.setPassword("scada");		if(!db.open())	{		qDebug("Error:%s",qPrintable(db.lastError().text()));		return db;	}	return db;}

? ? 连接数据库时, 一直连不上报错:?ConnectionOpen (Invalid Instance()) , 连接无效, 结果发现微软对express版本数据库是有限制的, 在SERVER字段添加\\sqlexpress这样后缀, 连接OK

?

  相关解决方案