QT 连接SQLServer

发布时间:2020-10-17 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了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即可

二. 测试

   方法一: 

Cpp代码  

收藏代码

  1. QSqlDatabase OpenDB()  
  2. {  
  3.     QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");  
  4.     // 注意,对于express版本数据库, 一定要加\\sqlexpress这种后缀  
  5.     QString dsn="DRIVER={SQL SERVER};SERVER=192.168.10.22\\sqlexpress;DATABASE=sqlscada";  
  6.     db.setDatabaseName(dsn);  
  7.     db.setUserName("sa");  
  8.     db.setPassword("scada");  
  9.       
  10.     if(!db.open())  
  11.     {  
  12.         qDebug("Error:%s",qPrintable(db.lastError().text()));  
  13.         return db;  
  14.     }  
  15. }  

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

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

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

   

   

   

   代码:

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

    以上是编程之家为你收集整理的QT 连接SQLServer全部内容,希望文章能够帮你解决QT 连接SQLServer所遇到的程序开发问题。

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
    编程之家官方公众号

    微信公众号搜索 “ 程序精选 ” ,选择关注!

    微信公众号搜索 “ 程序精选 ”
    精选程序员所需精品干货内容!