,,,,用c++/c连接MySQL数据库有两种方法:
,,,,第一种:利用ADO连接
,,第二种:利用MySQL自己的API函数进行连接
,第一种ADO可以连接多种数据库,例如:mysql,状态"置疑"甲骨文、访问等。
,第二种API方式只针对mysql数据库的连接,不用安装MyODBC服务器程序。
,API,这儿我用的方式进行连接mysql数据库,相对于ADO方式效率更高。(后面可以研究第一种方式)
,,,,虚拟机的版本:redhat7.0, 64位
,,,,数据库的版本:MySQL5.7(已安装好),,,
,,,, 1,将解压得到的文件里对应的库,头文件拷贝到系统能找到的位置
,,,,,,,,例如:我当时安装数据库的文件都在:/usr/地方/下
,,,,执行:cp/usr/local/include/*/usr/include/
,,,,注意,拷贝时,如果*里含有文件夹,则需要用:
,,,,,,,,,cp -r /usr/地方/include/*/usr/include/
,,,,,,,, (cp将递归复制该目录下所有的子目录和文件)
,,,,随意写一段测试文件:1。cpp
,,,,
,,,, # include & lt; iostream>
,,,, # include & lt; mysql/mysql.h>
,,,,使用名称空间性病;
,,,, int主要()
,,,, {
,,,,,,,, mysql *连接;
,,,,,,,,连接=mysql_init (NULL);
,,,,,,,,返回0;
,,,,}
,,,,
,,,,然后用g++ - o 1 1。cpp -lmysqlcient编译文件
,,,,很不幸,又是意料之中的出现了一个问题:
,,,,,,,, ,,,
,,,,找不到库文件导致的。
,,,,终端输入命令:mysql_config——libs
,,,,,,,,
,,,,现在我们编译时加上路径,执行:g++ - l/usr/地方/lib/MySQL -lmysqlclient - o 1 1. cpp
编译通过。
,,,,链接时默认路径为/usr/local/lib,多了一层目录,我们将MySQL下的文件拷贝到自由下
,,,,执行:cp/usr/local/lib/mysql/*/usr/local/lib/
,,,,此时删不删自由下的MySQL文件夹都无碍了。
,,,,再次执行g++ - o 1 1。cpp -lmysqlclient编译通过。
,,,,,
,,,,,,,,,