扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
打开phpstorm,打开Database窗口,如下图:
成都创新互联专注于大安市企业网站建设,响应式网站,商城建设。大安市网站建设公司,为大安市等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
配置mysql连接,如下图:
填写mysql地址,用户名,密码,如果没有安装驱动,要先安装驱动
测试数据库能否连接成功:
保存配置,保存时,会提示设置密码:
步骤阅读
6
读取数据库表,及根据条件查询修改:
1、下载odbc驱动 需要下载两个东西 instantclient-basiclite-nt-12.1.0.1.0.zipinstantclient-odbc-nt-12.1.0.1.0.zip 由于时间推移,版本号会更新,网址也会变化。2、解压缩这两个文件到同一个文件夹a、分别解压缩这两个文件b、解压缩后两个文件夹里面都有instantclient_12_1目录,将odbc的instantclient_12_1目录下的内容拷贝到basicclient下的instantclient_12_1里面c、为了使目录整齐简介,将basicclient下的instantclient_12_1目录拷贝到D:\Program Files\instantclient_12_13、将oracle数据库所在电脑上的NETWORK目录拷贝到instantclient_12_1目录下,oracle服务器所在电脑的network在D:\oraclexe\app\oracle\product\11.2.0\server这个位置。 4、修改NETWORK\ADMIN\tnsnames.ora文件,将主机名换成IP地址。下面例子当中10.17.176.138以前是oracle数据库所在电脑上的主机名。主机名可能无法正确连接,所以换成IP地址。 XE =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.176.138)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XE))) 5、添加环境变量TNS_ADMIN,变量值指向ADMIN目录,本人的配置是D:\Program Files\instantclient_12_1\NETWORK\ADMIN 6、双击instantclient_12_1目录下的odbc_install.exe完成安装。 注:安装时出现DOC框,并一闪而过,可能无法判断是不是正确安装。其实可以cmd进入instantclient_12_1目录,并.\odbc_install.exe手动安装。 7、配置数据源并测试为了不影响测试,首先将oracle数据库所在电脑的防火墙关闭,或允许例外TCP 1521端口。配置客户端电脑,控制面板-数据源-用户DSN-添加中选择Oracle in instantclient_12_1,TNS Service Name中选择数据库名,本人名字是XE,点Test Connection,如果提示成功就OK了。 8、防止乱码 在安装数据库的电脑上(我的oracle是安装在window上的),查看HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_XXX下的NLS_LANG值,在客户端电脑上增加环境变量NLS_LANG,其值是在上面得到的NLS_LANG值。我服务器的NLS_LANG是SIMPLIFIED CHINESE_CHINA.ZHS16GBK
方法/步骤
1
下载mysql C链接库
选择C的链接库
2
将C的连接库解压到到C:/mysql 目录下
3
我的QT 安装在C盘目录下,版本号是4.8.6 所以打开目录
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
4
将C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib
复制到此处。
5
编辑目录下的mysql.pro文件
添加
INCLUDEPATH+="C:/mysql/include"
LIBS+="C:/mysql/lib/opt/libmysql.lib"
运行qt的控制台窗口,方便使用qmake
切换到目录下
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
执行qmake
运行VS2010的控制台工具
切换到
C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下
执行nmake 和nmake release
是nmake不是make
这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生
qsqlmysqld4.dll qsqlmysqld4.lib
qsqlmysql4.dll qsqlmysql4.lib
将上面提到的四个文件复制到
C:\QT\4.8.6\plugins\sqldrivers
最后把
C:\mysql\lib\opt\libmysql.dll
C:\mysql\lib\opt\libmysql.lib
复制到
C:\Windows\system32\ 目录下。
最后测试mysql 可不可以在qt中正常使用
新建一个qt 控制台项目
输入以下代码
#include QCoreApplication
#include QDebug
#include qstring.h
#include qstringlist.h
#include qsql.h
#include qsqldatabase.hint main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();qDebug() drivers;return a.exec();
}
运行测试一下,看看有没有图片中红圈圈中的两项内容
1.百度搜索“mysql odbc驱动下载”,进入网站。 找到对应的mysql版本。
2.点击“Download”按钮下载。
3.在新弹出的页面通过滚轴找到:“No thanks, just start my download.”,并单击下载。
4.等待下载完成。 END
5.双击打开安装包,按照默认选项安装,点击“Next”。
这个MySQL Connector/ODBC 5.1是连接server的驱动,通过odbc方式连接。 当你安装好server之后,别人就可以在网络上通过3306端口访问你的这个数据库(如果防火墙没有阻止的话),但是,如果你没有安装这个connector,你的电脑不知道该如何与这个服务器交换信息,虽然server就在你的电脑上,除非你不在本机访问,不然你都得装上这个。server提供一个基于命令行的mysql commander客户端,这个commander附带这个connector,二connector odbc文件夹是这个connector的安装文件夹
Qt项目里用到了mysql,运行后报错:
查阅资料知道需要配置mysql驱动,本以为几分钟解决的事情,没想到开启了恶魔经历,整整两天时间,mmp!
Stop! 废话别说啦,入正题:
首先,Qt mysql的安装和环境配置就略了,一搜一大把。
不过注意两点:
先进入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目录下,执行:
这里确保qmake用的qt里的就行
其实你可以配置下qt相关的环境变量,在bash_profile里添加:
然后,source ~/.bash_profile ,还有别忘了 source ~/.zshrc
执行成功的话会输出:
根据提示 依次执行:
make sub-mysql
make
make install
进入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下执行,查看链接库:
输出:
此时,运行qt程序 依旧报错。
根据查阅的资料,问题出在
网友们所说的“诡异”的路径那一行(你的输出可能和我的不一样的,但问题应该一样) ,也就是有 libmysqlclient.21.dylib 这行。
另外查了下 @repath 的含义 意思是说 不能明确的指向。。。所以 这里就需要将libmysqlclient.21.dylib 指向扳到正确的道路。
方法就是利用 install_name_tool -change
执行
这里一定要注意顺序,刚开始我就是顺序搞错了,死活就是不行,最后跑到官方论坛里用蹩脚的英语发帖求教也无果,最后还是一遍的重试,一遍的检查才发现的。一天就这么浪费了。
此刻在运行qt程序 ,就不会再报上面的错误了。
撒花,礼花搞起~~~
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流