багом не является Fatal error: DB Error при подключение 2 бд

Sprinx

Пользователь
#1
Fatal error: DB Error [data/includes/functions_admin_cron.php(44)]

В логе #001146 Table '2 база данных.bb_cron' doesn't exist

Сам запрос
Код:
    DB()->query("
            UPDATE ". BB_CRON ." SET
                last_run = NOW(),
                run_counter = run_counter + 1,
                next_run =
            CASE
                WHEN schedule = 'hourly' THEN
                    DATE_ADD(NOW(), INTERVAL 1 HOUR)
                WHEN schedule = 'daily' THEN
                    DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL TIME_TO_SEC(run_time) SECOND)
                WHEN schedule = 'weekly' THEN
                    DATE_ADD(
                        DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(NOW()) DAY), INTERVAL 7 DAY),
                    INTERVAL CONCAT(ROUND(run_day-1), ' ', run_time) DAY_SECOND)
                WHEN schedule = 'monthly' THEN
                    DATE_ADD(
                        DATE_ADD(DATE_SUB(CURDATE(), INTERVAL DAYOFMONTH(NOW())-1 DAY), INTERVAL 1 MONTH),
                    INTERVAL CONCAT(ROUND(run_day-1), ' ', run_time) DAY_SECOND)
                ELSE
                    DATE_ADD(NOW(), INTERVAL TIME_TO_SEC(run_interval) SECOND)
            END
            WHERE cron_id IN ($jobs)
        ");
Т.е суть проблемы такова, пытается лить инфу о кроне во вторую базу, не относящеюся к трекеру.
 

Dr_Brown

Пользователь
#2
Sprinx, разьсните кто нить, как я понимаю у нас можно несколько баз данных подключать ?
 

drew

Пользователь
#4
Dr_Brown, погляди конфиг, где есть строчка где прописываешь подключение. Там есть закомментированные строчки.
 

_Xz_

Пользователь
#6
$bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect);
$bb_cfg['db']['db2'] = array('localhost2', 'dbase2', 'user2', 'pass2', $charset, $pconnect);
//$bb_cfg['db']['db3'] = array('localhost3', 'dbase3', 'user2', 'pass3', $charset, $pconnect);

$bb_cfg['db_alias'] = array(
// 'alias' => 'srv_name'
# db1
'log' => 'db1', // BB_LOG
'search' => 'db2', // запрос в другую табл
$bb_cfg['db_alias'] = array(
// 'alias' => 'srv_name'
'cap' => 'db1', // BB_CAPTCHA
);

при запросе добавлять DB('search')->
 

Exile

Администратор
#7
Sprinx, я правильно понял, что ошибка вылазит если просто раскомментировать строчку с параметрами подключения к второй базе? Больше ничего в конфиге не трогали? Я просто не вижу особых причин к движку в запросе второй базы, если ему прямо об этом не сказали (конструкция DB()->query вообще пустая и указаний ни на что не содержит).
 

Sprinx

Пользователь
#8
Раскоментил строчку, прописал данные, прописал альянс.
Далее есть крон задача, в которой идет запись данных в базу другого движка.
DB('dle')->sql_query("INSERT INTO ". DLE_POST ." ..."); Все выполняется нормально.
Т.е если в крон задаче есть запрос в другую базу, то будет выдаваться ошибка как в первом посте. В крон задачах с обычными запросами, ошибок нету.
 

Dr_Brown

Пользователь
#10
Так у на работает подключение к двум базам или нет ? Потому как пробовал одну таблицу bb_post_text вынести в отдельную базу, прописал доступы, указал в альясе что смотреть эту таблицу в db2. Получаю ошибку что таблица не найдена, вижу что движок подключает в админке две базы, однако всеравно обращается тока к первой (естно таблицу убрал из первой и перенес во вторую) может что не так делаю, логику обьясните как работать должно ?
 
Сверху