Tertium |
Отправлено: 04.06.2005, 22:34 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Народ, что-то я не вкуриваю.
выполняю в цикле последовательно 1000 запросов INSERT, из них только 120-150 попадают в базу. Причём не первые, а так, выборочные. Впечатление такое, что запросы идут, но не все успевают вписаться в базу. Вроде бы никакие евенты не откликаются. Транзакции пробовал — ноль эмоций. Магия какая-то... или, как обычно, главного в документации Борланда — нет.
|
|
** avtoritet |
Отправлено: 05.06.2005, 00:35 |
|
Не зарегистрирован
|
Странно все это!
Что за база, компонеты используемые и их свойства( те, что ты изменил от устанавливаемого по умолчанию достаточно(?
|
|
Tertium |
Отправлено: 05.06.2005, 04:13 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
TADOConnection + TADOQuery
ничего такого не менял, настроил тока соединение. ну, я вообще-то не впервые эти компоненты вижу. А вот 1000 инсертов полпробовал впервые и вот... Да что там, даже 10 — выполняются только первый и пятый... мистика какая-то
Отредактировано Tertium — 05/06/2005, 04:13
|
|
** avtoritet |
Отправлено: 05.06.2005, 05:18 |
|
Не зарегистрирован
|
Тут скорее нужно видеть базу и исходники, чтобы сказать наверняка.
Щас у себя пробовал — все тип-топ!
Ну, вот так примерно, наверное у тебя, да?
CODE |
for(int i=0;i<10000;i++){
adoQ->Insert();
adoQ->FieldByName("K_N")->Value = i+1;
adoQ->FieldByName("K_FIO")->Value = IntToStr(i+1)+" не глюкноло";
adoQ->Post();
}
ShowMessage(adoQ->RecordCount);
|
Отредактировано Георгий — 05/06/2005, 14:18 |
|
Tertium |
Отправлено: 05.06.2005, 13:57 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
не, я во как делал.
CODE |
for (int i=0;i<1000;i++)
{
ADOQuery1->SQL->Text= AnsiString().sprintf("use Gambling insert into Stats(machine_id,currentIn,currentOut,last_query) values(%d,%d,%d,'%s')",
rand()%150,i,rand()*rand(),TDateTime(rand()*rand()).FormatString("yyyy-mm-dd hh:nn:ss"));
ADOQuery1->ExecSQL();
}
|
может, нельзя пользоваться ExecSQL?
|
|
Tertium |
Отправлено: 05.06.2005, 14:18 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Слушай, пришли на мыло свой пример полностью, а ? ботва какая-то, никак не хочет работать!! С инсертом, грит, мол, не открыт датасет, и не хрена в него лезть... А в примере же у них так... ничего не понимаю...
Так до нервного срыва и прямой работы с одбс недолго! А не хотелось бы...
tertium<собака>front.ru
|
|
Tertium |
Отправлено: 05.06.2005, 16:34 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Господа, мы столкнулись с тем редким случаем, когда не моя программа глючит, а сам MSSQL-сервер . Видимо, он не уживается с 2003 виндами. Народ по крайней мере говорит о необходимости установки SP3 под MSSQL.
Да и под MySQL всё работает, как часы.
|
|
** avtoritet |
Отправлено: 06.06.2005, 02:21 |
|
Не зарегистрирован
|
Сори, только сейчас к компу подобрался, выходные всетаки!
Ну как я понял, тебе уже не нужен мой исходник. Тем более, что у меня все локально без сетей, МyСКЛ сервера.
Насчет SP3 and MSSQL тоже слышал, говрят- это один из выходов из сложившейся ситуации.
|
|
full_lamer |
Отправлено: 06.06.2005, 08:15 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
есть такое дело SQL под W2k3 идет с тормозами, при запросах теряется половина данных... факт.
|
|
greyICH |
Отправлено: 13.06.2005, 17:04 |
|
Не зарегистрирован
|
не, народ! у меня стоит MSSQL server SP3 на win2003. Никаких проблем! если доустановка sp3 не поможет — попробуй обновить mdac на клиенте. взять его можно на сайте мелкомягких. |
|