|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
Господа, не пинайте, пожалуйста, новичка за ламерский вопрос! Суть такова. Заказчик хочет приложение в котором таблицы имеют формат Access 7/10, но с одним условием: не использовать для разработки интерфейса, отчетов, запросов и прочих плюшек, встроенных в Access. Весь код - на Visual Basic 10. Т.е. из Access - только таблицы, всю обвязку - на VB10. К Access-у, как к среде разработки и исполнения, у заказчика нет никакой симпатии. Переубедить - не получилось. Отказываться от разработки не хочется: и задача интересная, и опять же деньги - пусть и невеликие - платят :) Если бы с приложение было однопользовательское, то тогда вопросов бы не было, но приложение многопользовательское (хотя и маленькое - максимум 10-12 коннектов). В связи с этим и вопрос: можно ли такое сотворить на VB10 и как в этом случае обеспечивается целостность данных в таблицах? Скажем, в таблице есть поле с автоинкрементным типом данных "Счетчик". Кто будет отслеживать его правильное приращение при одновременной попытке добавления записи? Или, допустим, несколько пользователей одновременно пытаются редактировать одну и ту же запись - как обеспечивается блокировка? Ведь от Access-а с его механизмами блокировки, транзакций и проч. остались только рожки да ножки (одни таблицы внутри файла accdb) - вся логика на VB10. MSSQL - не катит. Только accdb. Кто сталкивался, где почитать? Спасибо, что прочли до конца мои страдания :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 14:46 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
fplabриложение многопользовательское (хотя и маленькое - максимум 10-12 коннектов) Будет тормозить нещадно. fplabКто будет отслеживать его правильное приращение при одновременной попытке добавления записи? Используемый драйвер доступа к данным через файл блокировок. fplabот Access-а с его механизмами блокировки, транзакций и проч. остались только рожки да ножки (одни таблицы внутри файла accdb) Их там и не было изначально - сам Аксесс не более чем интерфейс, а всей этой ерундой занимался драйвер MS Jet (DAO). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 15:10 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaБудет тормозить нещадно. Вот даже как... Печально. А что значит - нещадно? Вот скажем, вводится новая запись - сколько времени она будет добавляться (таблица небольшая - 3-4 тыс.записей)? Или обновляться существующая? Хотя бы порядок - 1 сек, 10 сек Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 16:53 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
fplabА что значит - нещадно? Вот скажем, вводится новая запись А это значит, что все 21 клиент будут толкаться в один и тот же файл блокировок и выпрашивать разрешения на выполнение операций с данными. Для любых операций они будут волочь все данные к себе, и постоянно будут спрашивать, а не изменились ли эти данные - опять-таки через файл блокировок. По опыту из последнего - три одновременно работающих клиента ОЧЕНЬ почувствовали тормоза от того, что их общая БД была вынесена с ближнего сервера на удалённый по L2-каналу сервер с пингом всего-то в 3 мс. Скорость загрузки одной учётной карточки возросла с "максимум 2 секунды" до "не менее 10 секунд". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 17:20 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaПо опыту из последнего - три одновременно работающих клиента ОЧЕНЬ почувствовали тормоза от того, что их общая БД была вынесена с ближнего сервера на удалённый по L2-каналу сервер с пингом всего-то в 3 мс. Скорость загрузки одной учётной карточки возросла с "максимум 2 секунды" до "не менее 10 секунд". Так, так, теплее :) А если сервер не удаленный, а в локалке? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 17:25 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
fplabА если сервер не удаленный, а в локалке? А он и есть в локалке. Просто две сети на разных промзонах соединены L2-каналом... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 18:08 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
fplabСпасибо, что прочли до конца мои страдания :) Access Jet давно встроен в винду, и устанавливать среду Access необходимости нет. К таблицам Access через Access Jet может обращаться любой клиент, хоть VBScript, хоть Delphi, хоть VBA. Скорость в файлсерверной технохнологии для любого клиента одинакова, и зависит от задачи (записи будут блокироваться на уровне страниц). Выбор клиента зависит от многих параметров, в том числе от предрассудков руководства. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 18:19 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
Центральная база на SQL Server, локальные на каждом компьютере в Access. При старте программы скачивать нужную порцию данных и работать локально. Данные вставлять в центральную БД по мере необходимости. Чуть больше писанины, зато никаких тормозов. Access это тоже VB. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2015, 18:36 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinafplabА что значит - нещадно? Вот скажем, вводится новая запись А это значит, что все 21 клиент будут толкаться в один и тот же файл блокировок и выпрашивать разрешения на выполнение операций с данными. Для любых операций они будут волочь все данные к себе, и постоянно будут спрашивать, а не изменились ли эти данные - опять-таки через файл блокировок. По опыту из последнего - три одновременно работающих клиента ОЧЕНЬ почувствовали тормоза от того, что их общая БД была вынесена с ближнего сервера на удалённый по L2-каналу сервер с пингом всего-то в 3 мс. Скорость загрузки одной учётной карточки возросла с "максимум 2 секунды" до "не менее 10 секунд". Вы мозг то ТС не выносите. Нормально все работает 15 клиентов полет нормальный. А кто там у вас тыкается, дык это ваши руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 04:56 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaИх там и не было изначально - сам Аксесс не более чем интерфейс, а всей этой ерундой занимался драйвер MS Jet (DAO). Учите матчасть все там есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 05:03 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaПо опыту из последнего - три одновременно работающих клиента ОЧЕНЬ почувствовали тормоза Тормоза в голове и кривых ручках. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 07:05 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
ROIНормально все работает 15 клиентов полет нормальный. Когда идёт строго сеансовое взаимодействие с БД - т.е. при необходимости выполняется полный цикл (соединение-взаимодействие-отключение), а в промежутке интерактивная работа пользователя, то да, может и летать. А если все 15 клиентов обязаны в реалтайме отслеживать изменения, вносимые другими клиентами, или просто подгружать информацию по мере ввода (простейшего поиска по введённым символам вполне достаточно) - хрен тебе по всему лицу, а не нормальных полётов. И ни изучение матчасти, ни прямые ручки не помогут. А что у тебя мозг без тормозов - это тут все уже давно в курсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 08:58 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
fplab, На счет VB 10 ничего не скажу, а RunTime Ассess с десятью клиентами работает нормально в локалке, больше не юзал... естественно речь идет не о том, что 10 юзеров одновременно открыли одну таблицу и ковыряют одну и ту же запись - должно быть нормальное приложение.... Выбор шефа скорее всего пал в сторону бесплатного VB 10 Express, где реализован VB-NET, тормозов тоже не должно быть (технология позволяет не держать постоянный коннект к БД), но с таким же успехом можно использовать и бесплатный RunTime Ассess, купив официально всего одну копию Акцесса... Что касается L2-канала.... у меня в одной конторе тоже связали два офиса мегафонными модемами (локалка без интернета), тут нужно смотреть тариф самого L2, чем быстрее и надежнее - тем дороже... А чтоб не париться - можно взять самый дешевый L2 и один из офисов (малый) перевести на УРС, по какому каналу будут летать картинки рабочего стола туда - сюда уже будет не важно... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 08:59 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaА если все 15 клиентов обязаны в реалтайме отслеживать изменения, вносимые другими клиентами, или просто подгружать информацию по мере ввода (простейшего поиска по введённым символам вполне достаточно) Вот это да... скорее всего будет затык... тут и спорить то не о чем... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 09:02 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
vmagЧто касается L2-канала.... у меня в одной конторе тоже связали два офиса мегафонными модемами (локалка без интернета), тут нужно смотреть тариф самого L2, чем быстрее и надежнее - тем дороже... У нас 100 Мбит по меди. Но задержки есть, пусть и несколько миллисекунд, не могут не быть при такой технологии. И если при, скажем, NetBT или FTP-трансфере их не видать, то при поллинге они встают в полный рост. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 09:02 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaУ нас 100 Мбит по меди. Попробуйте хоть для одного удаленного УРС... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 09:08 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaА если все 15 клиентов обязаны в реалтайме отслеживать изменения, вносимые другими клиентами, или просто подгружать информацию по мере ввода (простейшего поиска по введённым символам вполне достаточно) - хрен тебе по всему лицу, а не нормальных полётов. И ни изучение матчасти, ни прямые ручки не помогут. Бред. У ADO есть события ловите их и отрабатывайте как вам удобно. Если юзеры будут править одну и туже запись тут ни одна СУБД не спасет. Проблема реалтайма известная и не только в Access а во всех СУБД. Нормальное проектирование решает эту проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:11 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
Тынц: Это по событиям ADO так для разминки ну здесь и про транзакциях моно почитать. http://delphicomponent.ru/81-12-tehnologiya-ado-v-delphi.html ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:35 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
ROIУ ADO есть события ловите их и отрабатывайте как вам удобно. Блин, я не знаю, в какой вселенной ты живёшь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:35 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
ROIТынц: Это по событиям ADO так для разминки ну здесь и про транзакциях моно почитать. http://delphicomponent.ru/81-12-tehnologiya-ado-v-delphi.html А здесь есче интересней. http://www.firststeps.ru/vb/r.php?41 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:36 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaROIУ ADO есть события ловите их и отрабатывайте как вам удобно. Блин, я не знаю, в какой вселенной ты живёшь. Наверно не в той, где вы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:37 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaА что у тебя мозг без тормозов - это тут все уже давно в курсе. Как то даже не знаю, я вас не оскорблял. Akinaхрен тебе по всему лицу, а не нормальных полётов И это иоже вас не красит. А полеты нормальные даже 50 клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:46 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
ROIя вас не оскорблял. Ага, а в кривых ручках и тормозах в голове меня, значит, Пушкин тут уличал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 10:51 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
AkinaROIя вас не оскорблял. Ага, а в кривых ручках и тормозах в голове меня, значит, Пушкин тут уличал. Тормоза были ручки были, но это не к вам, а так сказать образно. Я и в мыслях не имел вас оскорбить. Если обидел вас - прошу прощения. Но 50 клиентов при грамотно спроектированной базе (летают) это факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 11:07 |
|
Из Access - только таблицы; все остальное - на VB10
|
|||
---|---|---|---|
#18+
Господа, господа, ну, пожалуйста - не надо друг-друга оскорблять! Интересное обсуждение, ценные замечания, ссылки, ссылки на опыт - все замечательно за что большое спасибо!!! Давайте жить дружно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2015, 11:17 |
|
|
start [/forum/topic.php?fid=45&tid=1614286]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 146ms |
0 / 0 |