您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

QT 连接SQLServer

2024/2/29 17:41:07发布17次查看
qtsql虽说提供了通用的数据库访问接口,可是有些数据库就是不太通用, 在windows下用qt连接sqlserver,折腾了半天. 一. 配置 1. 启用tcp/ip 安装好sqlserver2005后, 开始菜单找到 配置工具-sql server配置管理器: sqlexpress 的协议,启用tcp/ip,启用相应ip地址;
    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代码  
qsqldatabase opendb()  {      qsqldatabase db=qsqldatabase::adddatabase(qodbc);      // 注意,对于express版本数据库, 一定要加\\sqlexpress这种后缀      qstring dsn=driver={sql server};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()));          return db;      }      return db;  }     连接数据库时, 一直连不上报错: connectionopen (invalid instance()) , 连接无效, 结果发现微软对express版本数据库是有限制的, 在server字段添加\\sqlexpress这样后缀, 连接ok
方法二: 设置数据源,指定dsn即可
   控制面板->系统和安全->管理工具->数据源(odbc)
代码:
cpp代码  
qsqldatabase db=qsqldatabase::adddatabase(qodbc);  db.setdatabasename(testdsn);  db.setusername(sa);  db.setpassword(scada);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product