osx c++连接mysql
2024-08-27 11:56:48
最近想尝试一下使用c++连接mysql数据库。使用封装过后的mysql库mysql++访问mysql数据库更加简单,下述讲述的是如何在osx上搭建连接mysql的环境。
首先需要安装mysql++,感谢万能的brew install ,只需要一条命令!
brew install mysql++
因为我之前已经使用brew安装了mysql数据库,mysql++库的链接与mysql有冲突,在安装之前需要使用unlink命令解除mysql的链接。
brew unlink mysql
在安装完mysql连接库之后,此时执行命令
mysql -u root
不能连接到mysql数据库,此时只需要修改环境变量,将mysql程序所在文件添加到环境变量即可。
在 ~/.bashrc中添加这一句(此处需要根据实际情况填写):
export PATH=$PATH:/usr/local/Cellar/mysql/5.7.11/bin
果然又可以了!
此时,千万不要傻乎乎的首先unlink mysql-connector-c, 然后link mysql,虽然这样操作可以访问mysql client,但是执行编译的时候,会报错!
提示找不到:mysql_version.h 等一系列头文件......
接下来上一个连接mysql的小demo吧!
#include <iostream>
#include <mysql++/mysql++.h> using namespace mysqlpp;
using namespace std ;
int main(){
try{
Connection conn(false);
conn.connect("stock","localhost","root");
Query query=conn.query();
}catch (BadQuery er){
cout<<"Error:"<<er.what()<<endl;
return -;
}catch (const BadConversion &er){
cout << "Conversion error: " << er.what() << endl <<
"\tretrieved data size: " << er.retrieved <<
", actual size: " << er.actual_size << endl;
return -;
}catch (const Exception &er){
// Catch-all for any other MySQL++ exceptions
cout << "Error: " << er.what() << endl;
return -;
} cout<<"no problem"<<endl;
return ;
}
编译命令:
g++ main.cpp -o test -lmysqlpp -lmysqlclient
执行:
附上使用cmake生成项目的CMakeLists.txt文件,重点在于利用方法target_link_libraries来新增链接参数。
cmake_minimum_required(VERSION 2.8)
project (test)
add_executable(test main.cpp)
target_link_libraries(test mysqlpp mysqlclient)
执行:
cmake .
make
./test
have fun!
最新文章
- C#中级-开机自动启动程序
- Learning to Rank 之 listwise ranking
- Mysql:The table‘xxxx’is full
- vs 2010 中类文文件模板的修改
- 搭建WP8开发环境
- MySQLdb模块 类操作方法
- PCA人脸识别
- 存储过程系列之调试存储过程 SQL Server 2005
- .ARM.exidx
- python用Django+Celery+Redis 监视程序(一)
- SNF软件开发机器人-子系统-功能-【列表】自由排序-如何配置?
- Redis配置文件 redis.conf 解读(一)
- [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码
- js验证后台传递的map数据是否为空
- 10、Dockerfile实战-PHP
- axios post请求报错
- 生产者消费者模型(Queue,JoinableQueue)
- 浅谈IC行业产业链以及贸易商在产业链中的作用 2008-10-16 12:45[转自Michael的博客]
- filebeat+kafka+SparkStreaming程序报错及解决办法
- PHP域名whois查询代码(数据源万网、新网)