Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

ошибка поключения 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.096 c
2-1330668332
Кос
2012-03-02 10:05
2013.03.22
Загрузка файла из списка ComboBox


2-1331843715
Zheksonz
2012-03-16 00:35
2013.03.22
Управление шаговым двигателем через LPT


2-1343902126
Wadimka
2012-08-02 14:08
2013.03.22
Как запись типа record записать в TStream?


15-1337676209
ClawClaw
2012-05-22 12:43
2013.03.22
Чемпионат Европы 2012


2-1345708838
Molchanov
2012-08-23 12:00
2013.03.22
Высокоскоростной обмен с аппаратурой