Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизК теме о странном поведении fibplus при неудачном коннекте Найти похожие ветки
← →
VID (2004-01-18 02:56) [0]Ранее я создал ветку
http://delphimaster.net/view/3-1073834033/
а теперь, новая инфа...
После некоторых наблюдений, я заметил, что проблема с выполнением UPDATE-запросов, бывает через 10 минут после того как происходит неудачная попытка коннекта, к серверу, ешё на той стадии когда система загружается..
Т.Е.:
1. программа прописана в секции RUN (автозагрузка).
2. При старте, программа автоматически коннектиться к серверу.
итак, получается что сразу же после загрузки системы, запускается программа и пытается коннектиться к серверу, но видимо какие-то сетевые компоненты WINDOWS 2000 к этому моменту ещё не дозагружены (или ещё там что..), но факт: что при таком раскладе событий, программа пишет об ошибке соединения... при этом если буквально через пару секунд нажать в окне проги кнопу "повторить попытку" то соединение проходит успешно...
и вот короче, после уже этого успешного соединения со второй поптыки, возникает глюк с UPDATE-запросов, а точнее с его выполнением...
я сказал всё что знаю по этому вопросу, теперь надеюсь услышать ответ знающих людей :)
← →
VID (2004-01-19 20:35) [1]Народ, не расслабляемся! Я понимаю вопрос не очень то вкусный, но давай-те хотя бы найдём иситину методом исключений что ли ?
предлагайте свои варианты, я буду говорить что и как.. может и придём к выводу какому-нибудь.
← →
Deniz (2004-01-20 07:43) [2]А если попробовать в программе динамически создавать компонент DataBase на событие нажатие кнопки подключения и удалять при неудаче/отсоединении/в конце работы программы. Исходников плюсов нет, поэтому нет возможности посмотреть процесс создания DataBase! Но скоро куплю!
← →
VID (2004-01-21 00:44) [3]To Deniz: в-общем то мы с тобой мыслим одинаково.. я не стал ждать чуда и сделал так:
При попытке коннекта, т.е. когда пользователь нажимает кнопу "Соединиться", творится следующее:
IF TestConnection(DM.IBDB) then
try
DM.IBDB.Connected := True;
except
DM.IBDB.Connected := False;
ShowMessage("Ошибка подключения к базе данных");
end
else ShowMessage("Ошибка подключения к базе данных");
Function TestConnection(SourceIBDB:TpFIBDataBase):Boolean;
Var TempDB : TFIBDatabase;
begin
TempDB := TFIBDatabase.Create(nil);
try
TempDB.DBName := SourceIBDB.DBName;
TempDB.DBParams.Assign(SourceIBDB.DBParams);
TempDB.UseLoginPrompt := False;
TempDB.SQLDialect := SourceIBDB.SQLDialect;
try
TempDB.Connected := True;
Result := True;
except Result := False end;
finally
TempDB.Free;
end;
end;
Т.е. я подставляю под непрятности динамически создаваемый DataBase а тот который используется в проекте (статический), будет коннектиться только при удачном тестовом коннекте...
Не самое плохое решение, конечно, однако хотелось бы узнать, в чём же дело на самом деле..
с другой стороны, у меня фиб 4.8.0, а щас уже есть 5.x.x
и может там эта проблема уже неактуальна даже
← →
Johnmen (2004-01-21 09:19) [4]FIBPlus здесь точно непричем.
Проблемы в твоей программе.
← →
VID (2004-01-21 21:26) [5]ладно, хрен с ней, с этой проблемой...
жизнь покажет что там и как )
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c