| Treumer | 
| Отправлено: 14.02.2005, 10:37 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | Вот, собираюсь мигрировать, т.к. нужна поддержка по крайней мере 10 конкурирующих пользователей. Вроде бы MSDE столько тянет ? Кто нибудь пробовал ?
 
 | 
|  | 
| olegenty | 
| Отправлено: 14.02.2005, 10:55 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | тянет. (только если они не будут по записи в секунду вставлять. иначе не тянет.) | 
|  | 
| Treumer | 
| Отправлено: 14.02.2005, 11:18 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (olegenty @ 14/02/2005, 11:57) |  | тянет. (только если они не будут по записи в секунду вставлять. иначе не тянет.) | 
 Нет, такой нагрузки и близко не предвидится!
 Просто я натыкался на разное количество поддерживаемых коннектов — от 5 до 20...
 
 Ну, значит — вперед!
  
 Я уже постил подобный вопрос в сентябре еще — но вот только-только дошли руки до миграции..
 Странным образом не нашел свой топик поиском по ключевому слову MSDE — хотя оно там в заголовке стоит...
  
 Я так понимаю — миграция таки возможна и — если повезет — безболезненна...
   | 
|  | 
| olegenty | 
| Отправлено: 14.02.2005, 16:21 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | да и 1000 коннектов потянет, если 1. будешь грамотно администрировать.
 2. будешь грамотно разрабатывать софтину.
 
 у нас MSSQL тянет сейчас более 600 пользователей.
 | 
|  | 
| Valdemar | 
| Отправлено: 15.02.2005, 09:18 |  | 
| 
 Мастер участка
 
 Группа: Участник
 Сообщений: 433
 
 
 
  
 | olegenty, так вопрос о MSDE, а не о MS SQL Server. Если я не ошибаюсь, то у MSDE ограничение на количество одновременных конектов 5.
 | 
|  | 
| Treumer | 
| Отправлено: 15.02.2005, 10:50 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (Valdemar @ 15/02/2005, 10:20) |  | olegenty, так вопрос о MSDE, а не о MS SQL Server. Если я не ошибаюсь, то у MSDE ограничение на количество одновременных конектов 5.
 | 
 Там как-то хитро написано, типа "пять одновременных операций" или что-то в этом роде, что не означает, что не может быть 30 человек подконнекчено, которые ничего не делают.
 
 Правильно разрабатывать приложение я не могу, т.к. оно уже разработано и — боюсь — не очень то и правильно.
 В общем то и Аксесса хватило бы, если бы он ействительно держал 20-30 соединений, а он — на сколько я знаб — нифига не держит, хотя это и декларируется Микрософтом.
 
 Но нагрузка на базу — в реальности — будет настолько мала, что единственное что важно — чтобы эти тридцать юзеров одновременно запустивших программку — и ничего не делающие с базой — не рушили бы базу просто слишком большим кол-ом коннектов...
 
 Как уж ээ будут администрить — понятия не имею...
 Сам заказчик и будет администрить...
 | 
|  | 
| olegenty | 
| Отправлено: 15.02.2005, 10:59 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | TADOConnection::KeepConnection = false, тогда, при отсутствии действий, ADO будет обрывать коннект, и восстанавливать его только при попытке действия. 
 вряд ли 5 одновременных операций, скорее 5 devices. но device != connect
 | 
|  | 
| Treumer | 
| Отправлено: 15.02.2005, 12:33 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (olegenty @ 15/02/2005, 12:01) |  | TADOConnection::KeepConnection = false, тогда, при отсутствии действий, ADO будет обрывать коннект, и восстанавливать его только при попытке действия. 
 вряд ли 5 одновременных операций, скорее 5 devices. но device != connect
 | 
 Тут http://www.aspfaq.com/show.asp?id=2343
 вот что написано:
 
 | QUOTE |  | performance throttling occurs when there are more than five (5) concurrent workload batches in progress (this does *not* mean 5 concurrent *users* — with a properly build application, you can certainly support more. For more detailed information about the query governor, see this MSDN topic); | 
 
 А KeepConnection — надо будет использовать..
 Что-то миграция начинает сильно затормаживаться...
 
 Первой серьезной проблемой стало то, что ADO компоненты не захотели выполнять на сервере SQL запрос, который запущенный на нем впрямую работает.
 
 Я решил проапгрейдить MDAC. Поставил MDAC 2.8.
 Прога начала выбрасывать exception на event от TDBCheckBox.
 Я почесал репу и установил MDAC 2.8 SDK.
 Сделал Rebuild.
 Не помогло...
  
 Чешу репу дальше..
 Кажется СДК как-то надо иначе в Борланд интегрировать ?!
 | 
|  | 
| olegenty | 
| Отправлено: 15.02.2005, 14:29 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | на чём пишешь? какой патч установлен? для BCB6 надо Update4, а для BCB5 — целых несколько. | 
|  | 
| Treumer | 
| Отправлено: 15.02.2005, 16:54 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (olegenty @ 15/02/2005, 15:31) |  | на чём пишешь? какой патч установлен? для BCB6 надо Update4, а для BCB5 — целых несколько. | 
 Да пишу на BCB5 Pro.
 Установил на нем все, что смог скачать с Борландовского сайта...
 Т.е. BCB5ProUpdate1.exe и BCB5ADOUpgrade1.exe.
 
 Я тут уже начал дальше копать — т.е. откатывать MDAC 2.8 на 2.6, т.к.
 мне показалось, что BCB5ADOUpgrade только для версии 2.6...
 
 Стало, однако, хуже...
 
 Н-да...
 | 
|  | 
| Treumer | 
| Отправлено: 15.02.2005, 19:59 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | Rollback на 2.6 не получился.. Все поломалось.. 
 Вроде удалось таки обратно к 2.8 вернуться.
 
 Приложение запускается, но постоянно возникают какие-то странные
 exception-ы.
 Видимо абсолютно необходим ADO update, только вот есть ли он на BCB5 для версии 2.8 ?!
   | 
|  | 
| olegenty | 
| Отправлено: 16.02.2005, 07:52 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | нет, тот, что у тебя стоит — единственный имеющийся. хочешь меньше ошибок при работе с ADO? используй клиентские наборы. TClientDataSet, TMemTableEh, TkbmMemoryTable или другой аналогичный. я пользуюсь вторым из них и проблем не знаю. | 
|  | 
| Treumer | 
| Отправлено: 16.02.2005, 10:21 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (olegenty @ 16/02/2005, 08:54) |  | нет, тот, что у тебя стоит — единственный имеющийся. хочешь меньше ошибок при работе с ADO? используй клиентские наборы. TClientDataSet, TMemTableEh, TkbmMemoryTable или другой аналогичный. я пользуюсь вторым из них и проблем не знаю. | 
 Так что же — это неизбежное зло ?!
 Даже если перейти, к примеру, на BCB6 — все равно будут валиться все эти исключения ?!
 
 | 
|  | 
| Treumer | 
| Отправлено: 16.02.2005, 14:46 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | А на счет использования TMemTableEh возникает вопрос — можно ли им так просто подменить TADODataSet ?! К сожалению описания TMemTableEh я не нашел..
 Такой же вопрос о TClientDataSet — можно ли его так просто подставить вместо
 TADODataSet ?!
 
 Отредактировано Treumer — 16/02/2005, 16:01
 | 
|  | 
| olegenty | 
| Отправлено: 16.02.2005, 16:58 |  | 
| 
 Ветеран
 
 Группа: Модератор
 Сообщений: 2412
 
 
 
  
 | работаю на BCB6+Update4 в БД хожу так:
 TADOConnection->TADODataDriverEh->TMemTableEh
 
 TADODataDriver — компонент для заливки данных в TMemTableEh и отправки изменений на сервер. содержит InsertCommand, UpdateCommand, SelectCommand, GetRecCommand, которфе в фоне суть TADOQuery, либо TADOStoredProc.
 
 заполняешь эти свойства реальными инструкциями/параметрами, и в ус не дуешь.
 | 
|  | 
| Treumer | 
| Отправлено: 16.02.2005, 18:30 |  | 
| 
 Станционный диспетчер
 
 Группа: Участник
 Сообщений: 92
 
 
 
  
 | | QUOTE (olegenty @ 16/02/2005, 16:58) |  | работаю на BCB6+Update4 в БД хожу так:
 TADOConnection->TADODataDriverEh->TMemTableEh
 
 TADODataDriver — компонент для заливки данных в TMemTableEh и отправки изменений на сервер. содержит InsertCommand, UpdateCommand, SelectCommand, GetRecCommand, которфе в фоне суть TADOQuery, либо TADOStoredProc.
 
 заполняешь эти свойства реальными инструкциями/параметрами, и в ус не дуешь.
 | 
 Я так понимаю, придется тогда много чего перелопачивать..
 К примеру у меня есть отчеты в QuickReport-e, которые данные из ADODataSet напрямую показывают и т.п.
 Ну, буду думать..
 
 Кажется мне, что эти странные ошибки возникают из-за не совсем корректных SQL запросов, что легко прокатывали в Access, но не нравятся SQL серверу..
 Буду копаться...
 
 Спасибо!
 | 
|  |