Пример #1
0
bool NFCMysqlDriverManager::AddMysqlServer(const int nServerID, const std::string& strDns, const std::string& strIP, const int nPort, const std::string strDBName, const std::string strDBUser, const std::string strDBPwd, const int nRconnectTime/* = 10*/, const int nRconneCount/* = -1*/)
{
    std::string  strDnsIp;
    if (!strDns.empty())
    {
        strDnsIp = GetIPByHostName(strDns);
    }

    if (strDnsIp.empty())
    {
        strDnsIp = strIP;
    }

    if (strDnsIp.empty())
    {
        return false;
    }


    if (strDnsIp.empty())
    {
        return false;
    }

    NFIMysqlDriver* pMysqlDriver = mvMysql.GetElement(nServerID);
    if (pMysqlDriver)
    {
        return false;
    }

    NFIMysqlDriver* pInvalidRedisDriver = mvInvalidMsyql.GetElement(nServerID);
    if (pInvalidRedisDriver)
    {
        return false;
    }


    pMysqlDriver = NF_NEW NFCMysqlDriver(nRconnectTime, nRconneCount);
    if (pMysqlDriver->Connect(strDBName, strDnsIp, nPort, strDBUser, strDBPwd))
    {
        mvMysql.AddElement(nServerID, pMysqlDriver);
    }
    else
    {
        mvInvalidMsyql.AddElement(nServerID, pMysqlDriver);
    }

    return true;
}