封装mysql读写分离SDK遇到的一些问题
一、如何编译?
进到cmake目录 source 对应平台的abenv脚本 再到对应的目录用makec编译。
二、创建uuid
命令
uuidgen
三、创建对外暴露的实体
nsresult rv;
nsCOMPtr<ncIDBSql> dbconn = do_CreateInstance(宏定义, &rv);
int main() { static AppContext appCtx (AB_APPLICATION_NAME); AppContext::setInstance (&appCtx); AppSettings* appSettings = AppSettings::getCFLAppSettings (); LibManager::getInstance ()->initLibs (appSettings, &appCtx, 0); ::ncInitXPCOM (); usepool(); return 0; }
四、Can‘t connect to local MySQL server through socket '/tmp/mysql.sock'
是因为找不到mysql.sock,安装mysql时,默认的mysql.sock路径在/var/lib/mysql/mysql.sock中,可在/etc/my.cnf中查看。
解决办法:将之前的sock路径注释,添加一下字段
[mysqld] socket = /tmp/mysql.sock [client] socket = /tmp/mysql.sock [mysqld] socket = /tmp/mysql.sock
没有的[client]的话,自行添加。
然后重启mysql服务
systemctl restart mysqld //重启服务
systemctl status mysqld //查看状态
重启成功后就可以连接了。
五、出现MySql Connect error! Segmentation fault (core dumped)
解决办法: 将host从“localhost”更改为“127.0.0.1”
六、Mysql 连接句柄指针,传入数据库连接函数,返回的指针仍为空
解决办法:定义这个句柄的二级指针传入数据库连接函数,就可以修改句柄指针。
七、指针如果不分配空间就将其置为NULL。
八、String格式字符串不能直接cout输出,用string强制转换一下
string(String); //或者 string(String).c_str();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理