封装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();

 

posted @ 2022-06-21 18:13  放弃吧  阅读(72)  评论(0)    收藏  举报