Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какие компоненты лучше использовать для доступа к MS SQL ?


Страницы:   1 2 3

DmiSb ©   (2006-06-05 15:20:00) 

Нормально ли работают ADOExpress в Delphi7


Ega23   (2006-06-05 17:40:00) [21]

dataSet1, dataSet2 : TDataSet;
DataSource1, DataSource2 : TDataSource;
DBGrid1, DBGrid2 : TDBGrid;

DataSource1.DataSet:=DataSet1;
DBGrid1.DataSource:=DataSource1;
DataSet2.DataSource:=DataSource1;
DataSource2.DataSet:=DataSet2;
DBGrid2.DataSource:=DataSource2;


Still Swamp   (2006-06-05 17:36:00) [22]


>
> А если тройная связка Master-Detail? На каждое - свой коннект?
>  И как вообще такую связку при таком подходе организовать?
>
> Что-то не совсем представляю


Что имеется в виду мастер-детал?


Still Swamp   (2006-06-05 17:35:00) [23]

Детальнее что значит переполнен пул.
На локальной тачке?
Не встречал такого. У меня стоит робот билинг на АТС 700 внутренних номеров. Регулярно таким образом информирует базу о каждом действии абонента (сняли трубку, положили трубку, нажали кнопочку на аппарате, и проч тапишные сообщения) и ни про какие пулы не жалуется.


Ega23   (2006-06-05 17:33:00) [24]


> Что получаем при таком подходе. Отсутствие бороды из мертвых
> перегрузившихся пользователей. Гарантированное подключение
> без извратов, если пользователь вышел из зоны wifi, или
> выдрал хвост у машины. Или подменили сервер перенаправление
> dns или еще что. И все без хлопанья окошками... откройте
> закройте программу....


А если тройная связка Master-Detail? На каждое - свой коннект? И как вообще такую связку при таком подходе организовать?
Что-то не совсем представляю...


Ega23   (2006-06-05 17:31:00) [25]


> делай 'Select 1 as id' для проверки коннекта достаточно,
>  результат тоже можно не проверять, только ждать эксепта.
>


Гм.. Мысль интересная. Оно же всё равно в рамках определённой базы будет идти...
Слушай, ну в очередной раз - спасибо! Это я не додумался...


saxon   (2006-06-05 17:30:00) [26]

То что соединение не может быть установленно, т.к. пул переполнен.
Это я к тому, что конечно надо > устанавливать соединение по надобности, но не без ума. :)


Still Swamp   (2006-06-05 17:26:00) [27]

Э... а....
Какие бяки меня ожидают? Конкретней. :)


saxon   (2006-06-05 17:26:00) [28]


> Still Swamp   (05.06.06 17:15) [12]
> Это забота SQLщиков... а они не жалуются.

А они и не будут жаловаться. Это в программе бяка вылезит, а сервер будет работать как и работал.


sniknik   (2006-06-05 17:25:00) [29]

Ega23 ©   (05.06.06 17:05) [9]
> 'Select top 1 id from susobjects'.
привлечение таблици... уже тормоза хоть и небольшие.
делай 'Select 1 as id' для проверки коннекта достаточно, результат тоже можно не проверять, только ждать эксепта.


Still Swamp   (2006-06-05 17:15:00) [30]

А с пулом соединений я не знаком. Это забота SQLщиков... а они не жалуются.


Still Swamp   (2006-06-05 17:12:00) [31]

Вот именно что ИМХО.
Соединение проходит при нормально рабочей сети за 0.025 сек. Так что 5 секунд думаю не кричино.

Что получаем при таком подходе. Отсутствие бороды из мертвых перегрузившихся пользователей. Гарантированное подключение без извратов, если пользователь вышел из зоны wifi, или выдрал хвост у машины. Или подменили сервер перенаправление dns или еще что. И все без хлопанья окошками... откройте закройте программу....


saxon   (2006-06-05 17:09:00) [32]


> Still Swamp   (05.06.06 16:57) [8]
>  приконнектились, процедуру вызвали, отключились. И так далее.

А с пулом соединений что происходит?


Ega23   (2006-06-05 17:05:00) [33]


> На тот момент вышли из положения тем что приконнектились,
>  процедуру вызвали, отключились. И так далее.


Ну это, ИМХО, изврат. В принципе, если обращение к базе редкая операция - можно и так реализовать. Но если очень часто... Просто само по себе создание подключения - дорогая штука. А когда бьёшься за миллисекунды - это совсем неприемлемо.

Вот как раз была задача недавно, нужно было отслеживать состояние связи с сервером, при этом информацию на экран выводить (нормальная картинка, либо "соединение разорвано").
Реализовал так: создаю отдельный поток, передаю в него ConnectionString, создаю в рамках этого потока свой экземпляр ADOConnection, соединяюсь и дальше начинаю каждые 5 секунд (параметр настраивается) пытаться выполнить запрос 'Select top 1 id from susobjects'.


Still Swamp   (2006-06-05 16:57:00) [34]

В смысле глюк был связан с тем что соединение уже установлено и держится за свет Alive.... по идее. Потом происходит любой exec и приходит исключение.

На тот момент вышли из положения тем что приконнектились, процедуру вызвали, отключились. И так далее.


Ega23   (2006-06-05 15:47:00) [35]


> Так же рекомендую как вариант устанавливать соединение по
> надобности.
>


В смысле?


Ega23   (2006-06-05 15:45:00) [36]


> Для Delphi5 Borland официально выпустила 2 обновления, которые
> касаются именно ADO. Вот мне и стало интересно как обстоят
> дела в Delhpi 7.


Насколько мне известно - проблем нет. Ни в D5, ни в D7. Хотя ADO на месте не стоит, может и для семёрки через какое-то время патч нужен будет...  :о)


Still Swamp   (2006-06-05 15:44:00) [37]

Рекомендую ADO. Никаких проблем не замечено за долгое время.
Есть глюки у старых MDACов, связанные с поддержкой коннекта, но в последних версиях 2.8 SP1 исправлено. Так же рекомендую как вариант устанавливать соединение по надобности.


DmiSb   (2006-06-05 15:42:00) [38]

Я согласен выпрямить руки  :)
Просто не хочеться сразу стукаться рожками в проблемы (ошибки при работе той же Delhpi, ADO). Для Delphi5 Borland официально выпустила 2 обновления, которые касаются именно ADO. Вот мне и стало интересно как обстоят дела в Delhpi 7.


Ega23   (2006-06-05 15:38:00) [39]


> "Нормально" - это в смысле глюков много или не очень ?


Мне вот интересно: а почему некоторые человеки начинают винить в глючности Delphi, ADO, C++ etc, вместо того, чтобы просто выпрямить руки?


DmiSb   (2006-06-05 15:36:00) [40]

"Нормально" - это в смысле глюков много или не очень ?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо