Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.044 c
3-1085925576
ИМХО
2004-05-30 17:59
2004.06.27
Работа с dbf через ADO


4-1085052879
ekap
2004-05-20 15:34
2004.06.27
Как выдернуть информацию из другой программы..?


6-1083675193
Еще один
2004-05-04 16:53
2004.06.27
Как узнать нетовский айпишник??


14-1086675069
JohnS
2004-06-08 10:11
2004.06.27
Апдейтим свои творения


8-1081360919
terra
2004-04-07 22:01
2004.06.27
Gif на форму





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский