Beispiel #1
0
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	ScriptDefModule* pModule = EntityDef::findScriptModule(DBUtil::accountScriptName());
	if(pModule == NULL)
	{
		ERROR_MSG(fmt::format("Dbmgr::initDB(): not found account script[{}]!\n", 
			DBUtil::accountScriptName()));

		return false;
	}

	if(!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB(): can't initialize dbinterface!\n");
		return false;
	}

	DBInterface* pDBInterface = DBUtil::createInterface();
	if(pDBInterface == NULL)
	{
		ERROR_MSG("Dbmgr::initDB(): can't create dbinterface!\n");
		return false;
	}

	bool ret = DBUtil::initInterface(pDBInterface);
	pDBInterface->detach();
	SAFE_RELEASE(pDBInterface);

	if(!ret)
		return false;

	return ret;
}
Beispiel #2
0
//-------------------------------------------------------------------------------------
bool Dbmgr::initDB()
{
    if(!DBUtil::initialize())
    {
        ERROR_MSG("Dbmgr::initDB: can't initialize dbinterface!\n");
        return false;
    }

    DBInterface* pDBInterface = DBUtil::createInterface();
    if(pDBInterface == NULL)
    {
        ERROR_MSG("Dbmgr::initDB: can't create dbinterface!\n");
        return false;
    }

    bool ret = DBUtil::initInterface(pDBInterface);

    if(ret)
    {
        ret = pDBInterface->checkEnvironment();
    }

    pDBInterface->detach();
    SAFE_RELEASE(pDBInterface);

    if(!ret)
        return false;

    return ret;
}
Beispiel #3
0
//-------------------------------------------------------------------------------------
DBInterface* DBUtil::createInterface(const std::string& name, bool showinfo)
{
	DBInterfaceInfo* pDBInfo = g_kbeSrvConfig.dbInterface(name);
	if (!pDBInfo)
	{
		ERROR_MSG(fmt::format("DBUtil::createInterface: not found dbInterface({})\n",
			name));

		return NULL;
	}

	DBInterface* dbinterface = NULL;

	if (strcmp(pDBInfo->db_type, "mysql") == 0)
	{
		dbinterface = new DBInterfaceMysql(name.c_str(), pDBInfo->db_unicodeString_characterSet, pDBInfo->db_unicodeString_collation);
	}
	else if (strcmp(pDBInfo->db_type, "redis") == 0)
	{
		dbinterface = new DBInterfaceRedis(name.c_str());
	}

	if(dbinterface == NULL)
	{
		ERROR_MSG(fmt::format("DBUtil::createInterface: create db_interface error! type={}\n",
			pDBInfo->db_type));

		return NULL;
	}
	
	kbe_snprintf(dbinterface->db_type_, MAX_BUF, "%s", pDBInfo->db_type);
	dbinterface->db_port_ = pDBInfo->db_port;
	kbe_snprintf(dbinterface->db_ip_, MAX_IP, "%s", pDBInfo->db_ip);
	kbe_snprintf(dbinterface->db_username_, MAX_BUF, "%s", pDBInfo->db_username);
	dbinterface->db_numConnections_ = pDBInfo->db_numConnections;
	kbe_snprintf(dbinterface->db_password_, MAX_BUF, "%s", pDBInfo->db_password);

	if (!dbinterface->attach(pDBInfo->db_name))
	{
		ERROR_MSG(fmt::format("DBUtil::createInterface: attach to database failed!\n\tdbinterface={0:p}\n\targs={1}\n",
			(void*)&dbinterface, dbinterface->c_str()));

		delete dbinterface;
		return NULL;
	}
	else
	{
		if(showinfo)
		{
			INFO_MSG(fmt::format("DBUtil::createInterface[{0:p}]: {1}\n", (void*)&dbinterface, 
				dbinterface->c_str()));
		}
	}

	return dbinterface;
}
void KeywordManager::CreateProjectSupplyTable()
{
	DBInterface db;
	if(db.OpenSupplyConnection("127.0.0.1","onsystems", "ebertsux37", "gnutella_raw_supply"))
	{
		for(UINT i=0; i<v_project_keywords.size(); i++)
		{
			CString project_supply_table = v_project_keywords[i].m_project_name.c_str();
			db.CreateProjectSupplyTable(project_supply_table);
		}
		db.CloseSupplyConnection();
	}
}
Beispiel #5
0
//-------------------------------------------------------------------------------------
DBInterface* DBUtil::createInterface(bool showinfo)
{
	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();
	DBInterface* dbinterface = NULL;

	if(strcmp(dbcfg.db_type, "mysql") == 0)
	{
		dbinterface = new DBInterfaceMysql(dbcfg.db_unicodeString_characterSet, dbcfg.db_unicodeString_collation);
	}
	else if(strcmp(dbcfg.db_type, "redis") == 0)
	{
		dbinterface = new DBInterfaceRedis();
	}

	if(dbinterface == NULL)
	{
		ERROR_MSG(fmt::format("DBUtil::createInterface: create db_interface error! type={}\n",
			dbcfg.db_type));

		return NULL;
	}
	
	kbe_snprintf(dbinterface->db_type_, MAX_BUF, "%s", dbcfg.db_type);
	dbinterface->db_port_ = dbcfg.db_port;	
	kbe_snprintf(dbinterface->db_ip_, MAX_IP, "%s", dbcfg.db_ip);
	kbe_snprintf(dbinterface->db_username_, MAX_BUF, "%s", dbcfg.db_username);
	dbinterface->db_numConnections_ = dbcfg.db_numConnections;
	kbe_snprintf(dbinterface->db_password_, MAX_BUF, "%s", dbcfg.db_password);

	if(!dbinterface->attach(DBUtil::dbname()))
	{
		ERROR_MSG(fmt::format("DBUtil::createInterface: attach to database failed!\n\tdbinterface={0:p}\n\targs={1}\n",
			(void*)&dbinterface, dbinterface->c_str()));

		delete dbinterface;
		return NULL;
	}
	else
	{
		if(showinfo)
		{
			INFO_MSG(fmt::format("DBUtil::createInterface[{0:p}]: {1}\n", (void*)&dbinterface, 
				dbinterface->c_str()));
		}
	}

	return dbinterface;
}
void TorrentCreator::WriteHashToDatabase(void)
{
    TRACE( "Start updating bt_generator_maininfo database\n" );

    CTime currentTime = CTime::GetCurrentTime();
    m_pIPData->SetCreationTime( (time_t)currentTime.GetTime() );

    DBInterface db;
    string torrentfilename = m_pIPData->GetTorrentFileName();
    db.OpenConnection(IP_BITTORRENT_DATABASE, "onsystems", "ebertsux37", "bittorrent_data");

    char aQuery[1024];
    sprintf( aQuery, "UPDATE bt_generator_maininfo SET info_hash = '%s', generate='F', creation_date = %s WHERE auto_torrent_id = %u",
             GetHashString(m_pIPData->GetInfohash()).c_str(), currentTime.Format( "%Y%m%d%H%M%S" ), m_pIPData->GetTorrentID() );
    int ret = db.executeQuery(aQuery);

    TRACE( "Done updating bt_generator_maininfo database\n" );
}
Beispiel #7
0
bool InitGameDB()
{
    DBInterface* db = new SQLiteInterface();

    if(!db->Open("gametest.db"))
        return false;

    // account--accountid|username||password
    if(!db->CreateTable("create table if not exists account(accountid INTEGER primary key AUTOINCREMENT, username TEXT UNIQUE, password TEXT)"))
        return false;

    // role--roleid|rolename|accountid|money|exp|level
    if(!db->CreateTable("create table if not exists role(roleid INTEGER primary key AUTOINCREMENT, rolename TEXT UNIQUE, accountid INTERGER, money INTERGER ,exp INTERGER, level INTERGER)"))
        return false;

    db->Close();
    delete db;

    return true;
}
Beispiel #8
0
//-------------------------------------------------------------------------------------
DBInterface* DBUtil::createInterface(bool showinfo)
{
	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();
	DBInterface* dbinterface = NULL;

	if(strcmp(dbcfg.db_type, "mysql") == 0)
	{
		dbinterface = new DBInterfaceMysql;
	}

	kbe_snprintf(dbinterface->db_type_, MAX_BUF, "%s", dbcfg.db_type);
	dbinterface->db_port_ = dbcfg.db_port;	
	kbe_snprintf(dbinterface->db_ip_, MAX_IP, "%s", dbcfg.db_ip);
	kbe_snprintf(dbinterface->db_username_, MAX_BUF, "%s", dbcfg.db_username);
	kbe_snprintf(dbinterface->db_password_, MAX_BUF, "%s", dbcfg.db_password);
	dbinterface->db_numConnections_ = dbcfg.db_numConnections;
	
	if(dbinterface == NULL)
	{
		ERROR_MSG("DBUtil::createInterface: can't create dbinterface!\n");
		return NULL;
	}

	if(!dbinterface->attach(DBUtil::dbname()))
	{
		ERROR_MSG("DBUtil::createInterface: can't attach to database!\n\tdbinterface=%p\n\targs=%s", 
			&dbinterface, dbinterface->c_str());

		delete dbinterface;
		return NULL;
	}
	else
	{
		if(showinfo)
		{
			INFO_MSG("DBUtil::createInterface[%p]: %s\n", &dbinterface, dbinterface->c_str());
		}
	}

	return dbinterface;
}
Beispiel #9
0
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	if(!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB: can't initialize dbinterface!\n");
		return false;
	}

	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();

	DBInterface* pDBInterface = DBUtil::createInterface();
	if(pDBInterface == NULL)
	{
		ERROR_MSG("Dbmgr::initDB: can't create dbinterface!\n");
		return false;
	}

	bool ret = DBUtil::initInterface(pDBInterface);
	
	if(ret)
	{
		ret = pDBInterface->checkEnvironment();
	}
	
	pDBInterface->detach();
	SAFE_RELEASE(pDBInterface);

	if(!ret)
		return false;

	if(!dbThreadPool_.isInitialize())
	{
		ret = dbThreadPool_.createThreadPool(dbcfg.db_numConnections, 
			dbcfg.db_numConnections, dbcfg.db_numConnections);
	}

	return ret;
}
Beispiel #10
0
int _tmain(int argc, _TCHAR* argv[])
{
	DBInterface* pInterface = new SqliteInterface();
	pInterface->Open("..\\test");

	DBTable table;
	int Col_Content = table.GetColumnIdx("Content");
	if (Col_Content == -1)
	{
		printf("Invalid Column Name\n");
		return false;
	}
	
	pInterface->ExecuteSql("select * from test", table);

// 	for (;;)
// 	{
// 		
// 	}

	printf("I am here, waiting for u\n");
	return 0;
}
Beispiel #11
0
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	ScriptDefModule* pModule = EntityDef::findScriptModule(DBUtil::accountScriptName());
	if(pModule == NULL)
	{
		ERROR_MSG(fmt::format("Dbmgr::initDB(): not found account script[{}]!\n", 
			DBUtil::accountScriptName()));

		return false;
	}

	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();
	if (dbcfg.dbInterfaceInfos.size() == 0)
	{
		ERROR_MSG(fmt::format("DBUtil::initialize: not found dbInterface! (kbengine_defs.xml->dbmgr->databaseInterfaces)\n"));
		return false;
	}

	if (!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB(): can't initialize dbInterface!\n");
		return false;
	}

	bool hasDefaultInterface = false;

	std::vector<DBInterfaceInfo>::iterator dbinfo_iter = dbcfg.dbInterfaceInfos.begin();
	for (; dbinfo_iter != dbcfg.dbInterfaceInfos.end(); ++dbinfo_iter)
	{
		Buffered_DBTasks buffered_DBTasks;
		bufferedDBTasksMaps_.insert(std::make_pair((*dbinfo_iter).name, buffered_DBTasks));
		BUFFERED_DBTASKS_MAP::iterator buffered_DBTasks_iter = bufferedDBTasksMaps_.find((*dbinfo_iter).name);
		buffered_DBTasks_iter->second.dbInterfaceName((*dbinfo_iter).name);
	}

	for (dbinfo_iter = dbcfg.dbInterfaceInfos.begin(); dbinfo_iter != dbcfg.dbInterfaceInfos.end(); ++dbinfo_iter)
	{
		DBInterface* pDBInterface = DBUtil::createInterface((*dbinfo_iter).name);
		if(pDBInterface == NULL)
		{
			ERROR_MSG("Dbmgr::initDB(): can't create dbInterface!\n");
			return false;
		}

		bool ret = DBUtil::initInterface(pDBInterface);
		pDBInterface->detach();
		SAFE_RELEASE(pDBInterface);

		if(!ret)
			return false;

		if (std::string("default") == (*dbinfo_iter).name)
			hasDefaultInterface = true;
	}

	if (!hasDefaultInterface)
	{
		ERROR_MSG("Dbmgr::initDB(): \"default\" dbInterface was not found! (kbengine_defs.xml->dbmgr->databaseInterfaces)\n");
		return false;
	}

	return true;
}