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

Вниз

ошибка поключения Ms Sql   Найти похожие ветки 

 
Axe   (2010-06-29 11:49) [0]

Ситуация в следующем:
1. Есть приложение для работы с базой данных в сети через  ADOConnection -> ADOQuery->DAtaSource
2. База данных - MSSQL.
Соеденение проходит успешно и выполнение первого SQL запроса проходит удачно, но через некоторое время если повторить запрос SQL то пишет ошибка соеденения! Вопрос как переподключить или что можно предпринять в данной ситуации?


 
Anatoly Podgoretsky ©   (2010-06-29 12:09) [1]

> Axe  (29.06.2010 11:49:00)  [0]

1. Ошибка в 17 строке
2. Используй TAdoDataset
3. Пригласи программиста
4. Пригласи телепата


 
12 ©   (2010-06-29 12:24) [2]

> выполнение первого SQL запроса проходит удачно

и вот тут
showmesage(ADOConnection.ConnectString) +
showmesage(ADOQuery.sql.text)


> если повторить запрос SQL то пишет ошибка соеденения!

и тут
что пишет +
showmesage(ADOConnection.ConnectString) +
showmesage(ADOQuery.sql.text)

в студию


 
Anatoly Podgoretsky ©   (2010-06-29 13:10) [3]

> 12  (29.06.2010 12:24:02)  [2]

А почему ты складываешь две процедуры, что ты этим сказать то хотел?


 
12 ©   (2010-06-29 13:28) [4]


> то ты этим сказать то хотел?

просил привести

ADOConnection.ConnectString
ADOQuery.sql.text
и что пишет


 
Anatoly Podgoretsky ©   (2010-06-29 13:51) [5]

Это ты так партизана раскалываешь :-)


 
Axe   (2010-06-29 16:21) [6]

Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=lin2db;Data Source=127.0.0.1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=AXE;Use Encryption for Data=False;Tag with column collation when possible=FalseSELECT  uid, account,last_login,last_logout  FROM user_account WHERE account like "goldeneye%"
Выкладываю ADOConnection.ConnectString+
ADOQuery.sql.text


 
12 ©   (2010-06-29 16:28) [7]

а теперь тоже самое и текст ошибки, когда эта ошибка возникает


 
Axe   (2010-06-29 18:02) [8]

Текст тотже выдает а ошибку то ошибка сеть, или ошибка подключения


 
MsGuns ©   (2010-06-29 19:49) [9]

Соединение, конечно же, в дизайне :)


 
Axe   (2010-06-29 20:39) [10]

Поподробней? Что то описал непонятно?


 
MsGuns ©   (2010-06-29 22:24) [11]

В Object Inspector у TADOConnection стоит Active=true ?


 
Axe   (2010-06-29 22:52) [12]

Да  я при открытие формы активирую соединение, первый же запрос нормально проходит это потом как будто соединение закрывается
Если делать при новом запросе пересоединение  т.е TADOConnection.close и TADOConnection.open то нормально запрос проходит, как то можно обнаружить что потерянно соединение?


 
Axe   (2010-06-29 22:53) [13]

Да  я при открытие формы активирую соединение, первый же запрос нормально проходит это потом как будто соединение закрывается
Если делать при новом запросе пересоединение  т.е TADOConnection.close и TADOConnection.open то нормально запрос проходит, как то можно обнаружить что потерянно соединение?


 
Германн ©   (2010-06-30 03:14) [14]


> Axe   (29.06.10 18:02) [8]
>
> Текст тотже выдает а ошибку то ошибка сеть, или ошибка подключения
>

Ну когда же вы, троешники, научитесь приводить в сабже или в ответах текст сообщения об ошибке без перевода на ...
:(


 
12 ©   (2010-06-30 08:51) [15]

так не пойдет
кинь на форму еще одно мемо и пиши вместо ADOQuery.open
OpenQ(ADOQuery)

procedure OpenQ(var AQ: tadoquery);
begin
 memo.lines.add(AQ.sql.text);
 memo.lines.add(AQ.connection.connectstring);

 try
   AQ.Open;
 except
   on E:Exception do
   begin
     memo.lines.add(E.ClassName);
     memo.lines.add(E.Message);
     // Raise; // по желанию
   end;
 end;
end;

и показывай текст из мемо

ps
в коде возможны опечатки - писал сразу сюда


 
12 ©   (2010-06-30 09:00) [16]

> как то можно обнаружить что потерянно соединение?

у TADOConnection заполнены Showmessge("оп па"); на
(Before-зачеркнуто :) )Disconnect
AfterDisconnect


 
sniknik ©   (2010-06-30 09:20) [17]

> у TADOConnection заполнены Showmessge("оп па"); на
> (Before-зачеркнуто :) )Disconnect
> AfterDisconnect
это не поможет, т.к. метод ничего не знает о проблемах сети до того как не проверит ее действием.
а это сработает если где нибудь в той же программе будет - ADOConnection.Active:= false;

+ здесь можно не проверять ошибки сети, т.к. > Data Source=127.0.0.1;, здесь только ошибки в программе (или настройка сервера mssql - разрывать соединение после исполнения запроса... если такая есть конечно. что там администраторы по этому поводу скажут?).


 
Axe   (2010-06-30 10:02) [18]

Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=lin2db;Data Source=127.0.0.1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=AXE;Use Encryption for Data=False;Tag with column collation when possible=False
SELECT  uid, account,last_login,last_logout  FROM user_account WHERE account  like "goldeneye%"

Provider=SQLOLEDB.1;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=lin2db;Data Source=127.0.0.1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=AXE;Use Encryption for Data=False;Tag with column collation when possible=False
EOleException
Ошибка подключения


 
Axe   (2010-06-30 10:05) [19]

Ребят сразу оговорюсь, IP не локальный, это просто я поменял так как просили сервер не светит


 
sniknik ©   (2010-06-30 10:13) [20]

а отсутствие запроса в случае с ошибкой это тоже "оговорка"?

> Это ты так партизана раскалываешь :-)
это не партизан, это провокатор...


 
Axe   (2010-06-30 10:20) [21]

Незнаю вызов такой же а запрос не выводит


 
12 ©   (2010-06-30 11:50) [22]

во втором случае нет текста запроса
ищи где текст может менятся

напиши procedurу по смене текста запроса и делай не Q.SQL.text:=
(и не Q.SQL.Add())
А только через эту процедуру, и сигналь как только текст станет = пусто



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.068 c
15-1330374602
Юрий
2012-02-28 00:30
2013.03.22
С днем рождения ! 28 февраля 2012 вторник


15-1340742529
Дмитрий С
2012-06-27 00:28
2013.03.22
О стиле "неубиваемого" кода.


2-1338991657
начинающий41
2012-06-06 18:07
2013.03.22
Sender: TObject


15-1345335302
Германн
2012-08-19 04:15
2013.03.22
Формат двоичного представления дробного числа


2-1335260296
Вася
2012-04-24 13:38
2013.03.22
По какому событию пересчитывать рекордсет?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский