Текущий архив: 2004.06.27;
Скачать: CL | DM;
ВнизAdoConnection Найти похожие ветки
← →
Mamed © (2004-06-03 11:24) [0]U menya est AdoConnection.ya soedinen s SQL serverom.Iz za plocoy svyazi inogda connection teryaetsya .kak ya mogu uznat poteryan li soedineniye ili net
← →
Johnmen © (2004-06-03 11:33) [1]Выполнив лёгкий ничего не значащий запрос...:)
← →
Mamed © (2004-06-03 11:36) [2]:) etot variant v samoy posledniy ochered
← →
bushmen © (2004-06-03 11:38) [3]>etot variant v samoy posledniy ochered
Это почему?
← →
Mamed © (2004-06-03 11:40) [4]Ved kogda kod vipolnyaesh Delphi sam kak to naxodit est li soedineniye ili net
← →
Johnmen © (2004-06-03 11:41) [5]Какой такой kod vipolnyaesh ?
← →
bushmen © (2004-06-03 11:47) [6]>Delphi sam kak to naxodit est li soedineniye ili net
Ты слышал когда-нибудь о понятии "time out" ?
← →
Mamed © (2004-06-03 11:47) [7]Snachal U AdoConnenction e ustanovlivayu parmetri soedineniye Soedinyayus vse normalno.
Potom v raznix formax sozdayu AdoQuery Ixniy konnection ukazivayu na Adoconnection.Vit kogda v seti problema to poluchayu osibku Missing Connection Mne nado Pri takoy osibke povtorit Soedineniye
← →
bushmen © (2004-06-03 11:51) [8]>Mne nado Pri takoy osibke povtorit Soedineniye
Ну а кто тебе мешает воспользоваться конструкцией try except ?
← →
Mamed © (2004-06-03 12:48) [9]U menya programma napisano davno AdoQuery.Open est vo mnogix mestax.Try except napisat na kaydom meste ne udobno. Dopustim mne nado soobsit klientu o tom chto soedinenie poteryano.Kak eto mojno nayti
← →
Курдль © (2004-06-03 12:52) [10]Не знаю, как ADO, но ADO.NET ведет себя вообще непредсказуемо. При разрыве контакта может долгое время делать вид, что ничего не случилось, принимать запросы, но не отвечать на них (т.е. ни данных, ни сообщений об ошибке), а тем временем лихоражочно пытаться приконнектиться снова.
← →
bushmen © (2004-06-03 12:54) [11]>Try except napisat na kaydom meste ne udobno
Это только в сказках бывает, что поймаешь щуку, а она 3-и твоих желания исполнит! :)
Ты работаешь для кого - себя или пользователя?
← →
bushmen © (2004-06-03 12:57) [12]>но ADO.NET ведет себя вообще непредсказуемо
На самом деле не так уж и не предсказуемо. Майкрософт же говорил, что в ADO.NET применена технология отсоединенного рекордсета в отличии от ADO.
← →
Курдль © (2004-06-03 13:02) [13]
> На самом деле не так уж и не предсказуемо. Майкрософт же
> говорил, что в ADO.NET применена технология отсоединенного
> рекордсета в отличии от ADO.
Датасэта, если уж на то пошло. Как раз его поведение - понятно абсолютно. Залил данные из адаптера и юзай. А вот Connection и вправду ведут себя странно. Согласно описанию они должны кэшироваться, перенаправляться в одну сессию, если активированы одним приложением и т.д. На самом деле они этого не делают (или я не могу добиться по незнанию). Более того, в каких-то случаях метод Connection.Close вовсе не вызывает закрытия связи, а исчезает только после завершения приложения... :(
← →
Johnmen © (2004-06-03 13:09) [14]>Try except napisat na kaydom meste ne udobno.
Так тебе удобства нужны или чтобы программа не валилась ?
Если второе, то каждый запрос в try except.
Последняя строка в трай - MyConnectedFlag:=True;
В ексепте - MyConnectedFlag:=False;
Заводишь таймер и там анализируешь флаг...
← →
bushmen © (2004-06-03 13:11) [15]>метод Connection.Close вовсе не вызывает закрытия связи, а исчезает только после завершения приложения... :(
К сожалению, это общая болезнь для некоторых продуктов Майкрософта.
← →
Johnmen © (2004-06-03 13:15) [16]>Курдль © (03.06.04 13:02) [13]
Это его фича.
← →
Курдль © (2004-06-03 14:03) [17]
> bushmen © (03.06.04 13:11) [15]
> К сожалению, это общая болезнь для некоторых продуктов Майкрософта.
>
>
> Johnmen © (03.06.04 13:15) [16]
> Это его фича.
Если установить в строке подключения"Cache Authentication=False"
, тоConnection.Close
закрывает сессию, но только это.
← →
Johnmen © (2004-06-03 14:25) [18]>Курдль © (03.06.04 14:03) [17]
Для какого провайдера существует такой параметр ?
← →
jocko (2004-06-03 15:21) [19]я сделал примерно так так
кстати только в данном методе я показываю сообещения от сервера
все вызовы просто завернуты в try
procedure TdmMainConnection.cnnMainExecuteComplete(
Connection: TADOConnection; RecordsAffected: Integer; const Error: Error;
var EventStatus: TEventStatus; const Command: _Command;
const Recordset: _Recordset);
var cnnTemp : TADOConnection;
i : integer;
begin
if EventStatus = esErrorsOccured then
begin
if Error.Number = -2147217871 then //превышение времени ожидания
begin
ExmMessageDlg( Error.Description, mtError, [mbOK], 0);
//при превышенни времени ожидания откатвыаем все транзакции текущего процесса
//RollBackTransactions;
end
else begin
if Error.Number = -2147467259
then begin
ExmMessageDlg( "Произошел обрыв соединения!", mtWarning, [mbOK], 0);
fConnected := False;
PostMessage(Application.MainForm.Handle, DM_CONNECTIONFAILED, 0, 0);
end
else ExmMessageDlg( Error.Description, mtError, [mbOK], 0);
end;
end;
end;
← →
Курдль © (2004-06-03 17:14) [20]
> Johnmen © (03.06.04 14:25) [18]
> Для какого провайдера существует такой параметр ?
Это параметры строки подключения OleDbConnection от .NET к Sybase ASA 8. Вот полный вариант:
Protection Level=None;
Integrated Security=SSPI;
User ID=;
Password=;
Data Source=;
Provider="ASAProv.80";
Cache Authentication=False;
Persist Encrypted=True;
Impersonation Level=Identify;
Mask Password=False;
Persist Security Info=False;
Initial Catalog=;
Extended Properties=;
ASA Multiple Results=False;
Location=;
Encrypt Password=False"
← →
Johnmen © (2004-06-03 17:33) [21]>Курдль © (03.06.04 17:14) [20]
Понятно. Для провайдеров для MSSQL такого параметра не существует...
Страницы: 1 вся ветка
Текущий архив: 2004.06.27;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.033 c