C++在VS2019下操纵MySQL

今天实际操作了MySQL并实验了简单功能。

发现还是蛮麻烦的,遇到了各种问题。

前面试了下rocksdb,感觉在Windows下有点搞不定,不过是开源的推荐一下文章:

https://blog.csdn.net/linuxheik/article/details/88643044 

MySQL++ 也看了挺久,感觉在Windows下也很麻烦,就没弄了。

一、安装:

1. MySQL版本:mysql-installer-community-8.0.16.0 (本地安装默认服务,服务器仅仅安装server服务)

2. 连接器:mysql-connector-c++-8.0.16-winx64(只在本地安装)

3. 可视化工具:mysqlgui_21230(只在本地安装)

 

二、修改配置

 

-----------------------------使用管理工具:MySQL GUI Tools--------------------------------
(服务器的 防火墙3306端口需要打开)

链接发现到服务器时,发现报错,于是进行配置修改,见文章:

//连接错误1130 :https://blog.csdn.net/mrluzle/article/details/36865159 
//链接错误1251:https://blog.csdn.net/qq_36275540/article/details/80491470

PS : 如果你先改了1130错误,需要把 1251错误解决方案中,所有“localhost”全部换成 “%”

 

-------------------------------------打开VS进行MySQL测试----------------------------------

MySQL原文:https://www.cnblogs.com/magicsoar/p/3817518.html

这个文章似乎有点老,很多地方要自己摸索一下,大概总结如下:

1. 所有ibmysql.dll/mysqlcppconn.dll 都需要放到 Debug文件夹(有debug.EXE文件)那个目录下。

2. 如果运行测试程序有缺失dll文件的情况,优先去你的MySQL/MySQL connector文件夹中去搜这些dll,并且复制到Debug文件夹。(一般两个都有同名文件,我复制的是MySQL connector里的dll文件

3. 如果运行VS报错 0xc0000007b 无法运行,你就看你VS运行目录下,编译/运行到哪个.dll那挂掉了,你就重复第二步解决问题。

4. 新版本的引发的变化:


    A. 引用库等位置和命名的改变

     D:\Program Files\MySQL\Connector C++ 1.1.3\lib\opt(根据具体路径而定)此类,已经没有opt文件,转而变成了:

    D:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\vs14

    另外,mysqlcppconn.dll变成了mysqlcppconn-7-vs14或者mysqlcppconn8-2-vs14

 

 B.  引用文件的变化

#include "mysql_driver.h"
#include "mysql_connection.h"
#include "cppconn/driver.h"
#include "cppconn/statement.h"
#include "cppconn/prepared_statement.h"
#include "cppconn/metadata.h"
#include "cppconn/exception.h"

这类文件夹全部要变成:

#include "jdbc/mysql_driver.h"
#include "jdbc/mysql_connection.h"
#include "jdbc/cppconn/driver.h"
#include "jdbc/cppconn/statement.h"
#include "jdbc/cppconn/prepared_statement.h"
#include "jdbc/cppconn/metadata.h"
#include "jdbc/cppconn/exception.h"

 

5. 如果发现自己没有安装上上述的文件夹(如C:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\vs14)

 你可以重新打开Connector安装文件,点击change,勾选上所有文件夹(主要是C++相关的),就会安装出来。

---------------------------------------结尾-------------------------------

最后就可以按喜好选择用c api 还是connector去操纵MySQL了。

另外,getstring老是报错的,请看回答:

https://ask.csdn.net/questions/236975

(使用.c_str()解决)

 

 

 

 

你可能感兴趣的:(Serv)