![]() |
Страницы (4): « 1 [2] 3 4 » Показаны 58 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- MySQL (http://netadmin.ws/forum/forumdisplay.php?forumid=40)
-- Вопросы по MS SQL Server (http://netadmin.ws/forum/showthread.php?threadid=10996)
Ну это вряд ли...
__________________
Тест - проверка верности!
Ещё один "затык" появился. Транзакции.
Сказали что они работают исключительно в одном "скрипте", те. даже не в одном соединении, а ещё уже... Т.е. Если я хочу соединиться с БД, начать транзакцию, послать несколько запросов, а потом отменить или подтвердить транзакцию, то этого сделать нельзя?.. (Ð_НÐ_)
__________________
Админ - вождь Апачей...
quote:
Сказали что они работают исключительно в одном "скрипте", те. даже не в одном соединении, а ещё уже...
__________________
Тест - проверка верности!
Во блин :/ Я так и делаю. При начале раб-ты скрипта создаю соединение, делаю кое какие выборки, потом говорю:
SET IMPLICIT_TRANSACTIONS ON; BEGIN TRANSACTION add_rashod;
набор запросов на вставку, выборку и т.п.
затем в Ð_НÐ_ говорю если чего то не так, то говори:
ROLLBACK TRANSACTION add_rashod;
Он говорит, а сервак ему огрызается:
nativecode=6401 - Cannot roll back add_rashod. No transaction or savepoint of that name was found.
Воот... И я чё то в непонятках.... Как быть?.. Куда копать?..
__________________
Админ - вождь Апачей...
quote:
При начале раб-ты скрипта создаю соединение
quote:
Cannot roll back add_rashod. No transaction or savepoint of that name was found
__________________
Тест - проверка верности!
quote:
И естественно при завершении скрипта соединение закрывается.
if ($config['type_SQL'] == 'mssql') {
$result = $db->query('set dateformat Ymd');
if (DB::isError($result)) {
die ($result->getMessage());
}
$result = $db->query('SET IMPLICIT_TRANSACTIONS ON; BEGIN TRANSACTION add_rashod;'); //SET AUTOCOMMIT=0;
if (DB::isError($result)) { print 'trans beg err';
die ($result->getMessage());
} else {
print 'trans beg ok ';
}
} elseif ($config['type_SQL'] == 'mysql') {
$result = $db->query('SET AUTOCOMMIT=0; START TRANSACTION;');
if (DB::isError($result)) {
die ($result->getMessage());
}
}
// Здесь у меня куча всяких запросов выборок вставок...
if($count_ok == count($result_array['rashodi']) && $kol_vo == 1) {
$result = $db->query('COMMIT TRANSACTION add_rashod;');
if (DB::isError($result)) { print 'commit';
die ($result->getMessage());
} else {
$parser->site_body .= '<h1>Commit</h1>';
}
} else {
$result = $db->query('ROLLBACK TRANSACTION add_rashod;');
if (DB::isError($result)) { print 'rollback<pre>'; print_r($result);
die ($result->getMessage());
} else {
$parser->site_body .= '<h1>ROLLBACK</h1>';
}
}
__________________
Админ - вождь Апачей...
Я понял из твоих предыдущих сообщений, что тебе нужна транзакция в пределах сессии с вызовом различных ПХП скриптов (юзер работает с несколькими веб-страницами).
К последнему посту. Попробуй транзакцию без имени.
quote:
(кстати можно как нить посм. "номер" соединения текущего или что то на подобе SIDа, что бы при старте транзакции сравнить его с тем, что при конце?)
__________________
Тест - проверка верности!
Вообшем наз0ся ЧАЩЕ ОБНОВЛЯЙТЕ МАНЫ!.. Проблему решил слив новый ман по PEAR:: DB...
Теперь такой вопрос, нужно сделать "temporary table" к примеру на час... Такое реально? Или только в пределах соединения?..
__________________
Админ - вождь Апачей...
quote:
Такое реально? Или только в пределах соединения?..
__________________
Тест - проверка верности!
Возникла проблема с типами: необходимо числовое поле в 20 цифр, biging 19 (кажется) да ещё и не полных. Что делать? Юзать text?
__________________
Админ - вождь Апачей...
Если тебе нужны 20 цифр, да еще и с начальными нулями, то однозначно CHAR(20).
__________________
Тест - проверка верности!
Viktor дык это же не числовой формат... :/
Др. варианта нет?
__________________
Админ - вождь Апачей...
Меня смутило твое
quote:
да ещё и не полных.
__________________
Тест - проверка верности!
а вообще для лучшей совместимости всегда хранят дату в unixtimestampe. Никогда не любил пользоваться бд функциями по работу с датами.
__________________
Всегда есть решение.
Viktor пасиба. Понял.
polo учту на будущее...
__________________
Админ - вождь Апачей...
| Формат времени GMT. Текущее время 22:03. | Страницы (4): « 1 [2] 3 4 » Показаны 58 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.