![]() |
|
|
![]()
|
|
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
Приветствую!
Что имеем: Большая прога выполненная на Delphi7, в которой по-минимуму используются SQL запросы и по-максимуму TTable (делалось ещё до меня, так что никак повлиять не мог Что хотим получить: Эту же саму прогу, но только с SQL Server 2005 вместо BDE! В чём проблема: Появилась потребность в бОльшем функционале, а BDE уж очень часто начала выделывать кругаля, периодически ломаться и т.д. Как писал выше прога БОЛЬШАЯ, кода немерянно и переписывать его (на C# к примеру) не то что бы лениво, а очь долго - скорее уволят, чем допишем до конца Отсюда собственно вопрос - как можно обойти SetRange при использовании TAdoTable ? ЗЫ: понятно, что самое грамотное это все TTable заменить на TADOQuery и там уже всё нормально делать - но это займёт гораздо больше времени, посему хотелось бы этого избежать! Заранее Спасибо! |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
Немного уточню - Предполагается все данные из парадокса перегнать в сервер и пользоваться уже этой связкой Delphi+SQLServer, а о BDE забыть.
Соответственно программу нужно переделать уже под работу с Сервером. Но т.к. переделывать всё придётся очень и очень долго, то хотелось бы на данном этапе обойтись минимумом телодвижений для максимальной скорости переделки программы! Т.к. используются TTable и никаких заморочек (транзакций и прочего нет) - то самый быстрый способ был бы заменить один компонент другим Но т.к. у TADOTable нет SetRange - встает вопрос "А как обойти?" - т.к. он практически повсеместно используется! Мне тут на одном форуме предложили использовать компоненты DBExpress, а в частности воспользоваться TSimpleDataSet - в котором поддерживается SetRange - можете что-то сказать о плюсах/минусах данного варианта ? |
|||
|
||||
| LexuSS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.10.2007 Репутация: нет Всего: нет |
На данный момент я работаю как раз над подобной задачей.
В программе использовалась база данных Paradox доступ к которой организовывался через BDE. Я решил на первых парах не отказываться от BDE, а просто подключиться через него к SQL server. |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
А что с быстродействием стало !? Медленней, быстрей или не особо повлияло !?
Т.е. старое так и работает через BDE в сервер пишется, а новое вы на ADO уже пишите !? |
|||
|
||||
| LexuSS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.10.2007 Репутация: нет Всего: нет |
C быстродействием конечно проблема, скорость обработки упала примерно в 10 раз.
Сейчас дорабатываю SQL запросы которые в программе есть, так что бы минимум данных в памяти хранилось. В дальнейшем планирую перейти на ADO. |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
А какие-либо дополнительные настройки BDE, драйвера понадобились? Я где-то читал, что BDE поддерживала только 2000 сервер, а потом её закончили просто развивать...
|
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
а почему именно на АДО хотите переходить? про SDAC думали?
Добавлено через 3 минуты и 50 секунд http://www.devart.com/sdac/ -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
Товарищи посоветовали ADO, посмотрел, потестировал - вот и решил
А про SDAC я слышал (первый раз на прошлой неделе только...)! Но всё что слышал - что вот оно есть и всё! Ещё сказали что у тамошнего Table свойства SetRange нет, поэтому дальше рыть не стал. Можете прокомментировать что за зверь такой и его плюсы/минусы по сравнению с использованием ADO ? |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
там вроде есть мастер миграции с BDE
Добавлено через 30 секунд как раз для ваших симптомов ... -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| LexuSS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.10.2007 Репутация: нет Всего: нет |
Litta, Я всего лишь алиас добавил и удалил в именах таблиц расширение, правда и SQL server у меня 2000...
А вообще я думаю что без разницы какой сервер, я по началу даже к MySQL цеплялся. Это сообщение отредактировал(а) LexuSS - 19.1.2010, 07:52 |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
Хочу попробовать оценить скорость BDE+Server
А подскажите, как мне через BDE это настроить подключение к SQL Server (напомню, что он 2005 Я создал новый алиас, там выбрал SQL Server, в DataBase Name я так понимаю нужно указать путь к моей базе (файл имя.mdf ?) А что ещё? Я пробую раскрыть список - мне в ответ придлегает окно для ввода пользователя и пароля (в сервере стоит Windows аутентификация) - как тут быть!? Пробовал и без имя-пароль и пробовал вводить имя-пароль учётки - ничего непомогает пишет invalid configuration parameter и усё... соответственно никаких таблиц посмотреть, ничего :( Это сообщение отредактировал(а) Litta - 19.1.2010, 16:28 |
|||
|
||||
| LexuSS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.10.2007 Репутация: нет Всего: нет |
Надо создать в "Источники данных (ODBC)"
Поле "DataBase Name" оставь пустым. |
|||
|
||||
| Litta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 14.3.2006 Репутация: нет Всего: 1 |
Пока получилось подключиться через создание системного DSN - но насколько это правильно/быстро - хз!
Подскажи, какие настройки (open mode, batch count и т.д.) нужно выставить, что бы это всё работало нормально ? Это сообщение отредактировал(а) Litta - 19.1.2010, 17:10 |
|||
|
||||
| LexuSS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 12.10.2007 Репутация: нет Всего: нет |
Я ставил только имя сервера, имя базы, логирование больших запросов.
При одновременной работе 3-4 пользователей, скорость обработки примерно 3-5 записей в таблице в секунду... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |