Mac+QT中使用mysql的一些问题
来源:互联网 发布:淘宝手机店铺招牌尺寸 编辑:程序博客网 时间:2024/05/10 00:10
今天打算在qt中用mysql,在网上搜了一下,大致就是需要在文件中引用这个: #include <QtSql>
并且要在项目的.pro中添加如下代码。 QT += sql
可是我照着做了,并且写下了如下连接mysql数据库的代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //数据库主机名 db.setDatabaseName("xxxxxxx"); //数据库名 db.setUserName("root"); //数据库用户名 db.setPassword("root"); //数据库密码 db.open(); //打开数据库连接
可是会报错:
QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
在网上搜了一大堆相关的资料,比如将Qt下的sqldrivers文件夹添加到项目运行的文件中,对于我,即这个路径的文件添加进去:/Users/XFade/Qt5.4.2/5.4/clang_64/plugins/sqldrivers,可是并没有解决问题;
后来又看到了说要自己去重新编译mysql驱动,即.dylib文件,放到sqldrivers文件里面。我看了看不是很懂,所以没有那样做;不知道是不是真的能够解决。
后来我看到了一解决方案,点此查看,在这个里面,作者写道:
Qt 访问 MySQL 需要 2 个动态链接库文件,一个是 Qt 自己的 MySQL 驱动插件,另一个是 MySQL 提供的动态链接库,缺一不可。在程序里指定要访问的数据库为 MySQL,Qt 会自动的加载 MySQL 驱动插件,其实现依赖于MySQL 的动态链接库访问 MySQL。
这才有点领悟,于是我按照作者的步骤去做了,发现果然是那样
找不到 /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib
可是这时我突然发现,它里面说的那个libmysqlclient.18.dylib文件,我没有,倒是在/usr/local/mysql-5.7.12-osx10.11-x86_64/include/目录(这是我本机的mysql安装目录)下有一个libmysqlclient.20.dylib;
我想起了以前电脑上装过xampp,后来卸了,貌似里面有libmysqlclient.18.dylib,于是我又重装了一遍xampp(强迫症的我真的不想在电脑上装两个mysql,想想都有点不舒服,不过为了解决问题,没办法),然后把里面的那个拷贝过来放在上面opt…的那个目录下。
这时再运行,发现又报了一个非常呕心的错:
Connect to MySql error: "Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (2) QMYSQL: Unable to connect"
这时我又凌乱了,这个问题以前遇见过,一直不知道如何解决,后来搜了一下,原来是数据库的连接有两种方式,一种是sock,还有一种是TCP/IP,于是我把db.setHostName(“localhost”)改成了db.setHostName(“127.0.0.1”),再次运行,居然成功了!
虽然解决了这个问题,但是关于xampp我一直也很困惑,不知道从什么时候起,那个mysql就再也启动不了了
而且在terminal中运行
也会报那个sock错误,真是无语极了,因为没装xampp时,可以通过/usr/local/mysql-5.7.12-osx10.11-x86_64/这个mysql进得去,可是不装xampp,QT的问题又解决不了。。。好吧,我自己心中的小船反正是翻了。。。
- Mac+QT中使用mysql的一些问题
- Qt中使用Excel的一些问题
- MAC 上使用MySQL Workbench工具管理mysql数据库时遇到的一些问题及解决方法
- Mac 上面使用cocoapods的一些问题
- QT中遇到的一些问题
- Qt中遇到的一些问题总结
- Mac 中 Homebrew 的一些使用笔记
- Qt中多线程使用的一些感想
- Qt中connect的一些使用细节
- Mac中mysql的相关问题
- qt中mysql的编译问题
- QT的一些问题
- QT的一些问题
- Mac下Qt连接MySQL 驱动问题
- QT中mysql数据库的使用
- Mysql学习中遇到的一些问题
- 使用mysql出现的一些问题
- 开发中遇到的Mac使用问题
- 组合素数
- Java并发编程:阻塞队列
- Spring中到底什么是控制反转
- 集合排序
- SparkR初体验
- Mac+QT中使用mysql的一些问题
- PHP中的数据传输CURL
- 汇编
- 大话设计模式-中介者模式
- 旋转.shader
- Android Studio ndk-Jni开发详细入门,Aes加密demo
- Android 网络编程--上传文件及相应的参数到服务器
- 实用知识:距离传感器方法使用
- MIC编程(4)——MIC灵活高效的编程方式