QT连接SQLServer

2016-12-24 08:34:44来源:作者:人点击

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即可

二.测试

方法一:

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

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

方法二: 设置数据源,指定dsn即可

控制面板->系统和安全->管理工具->数据源(ODBC)

/

/

代码:
 

QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");db.setDatabaseName("testdsn");db.setUserName("sa");db.setPassword("scada");

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台