Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ADP или MDB
 
 автор: Pasat   (29.08.2008 в 10:35)   личное сообщение
 
 

Доброе утро
Посоветуйте пожалуйста стоит ли заниматься созданием проекта в ADP (Access Data Project)
и что это даст. Или лучше обойтись MDB проектом
Заранее спасибо

  Ответить  
 
 автор: osmor   (29.08.2008 в 11:21)   личное сообщение
 
 

Вот вопрос...
Посоветуйте пожалуйста стоит ли пить виски или лучше обойтись водкой.
Все зависит от желаний и условий.
Причем от ОГРОМНОГО количества условий.

  Ответить  
 
 автор: Pasat   (29.08.2008 в 11:37)   личное сообщение
 
 


Если можно перечислить основные задачи для MDB и ADP
То что нашел в литературе не дает четкого понимания
Быть может какую нть ссылочку

Хочу начать новую разработку и есть сомнения. Вроде бы достаточно MDB, но с другой стороны смотрю существующие решения (для тех же задач), а они в ADP
Надо щас решить
1. начать в MDB и затем, если появиться нужда, перейти на ADP
2. сразу ADP

Просто на сегодняшний день опыт с ADP только теоретический

  Ответить  
 
 автор: osmor   (29.08.2008 в 11:43)   личное сообщение
 
 

вопрос № 1 где будут храниться данные ?
ADP подразумевает наличие SQL сервера, вы к этому готовы?

  Ответить  
 
 автор: Pasat   (29.08.2008 в 11:50)   личное сообщение
 
 

Предполагается наличие SQL сервера
Но ведь MDB тоже работает с SQL сервером

  Ответить  
 
 автор: osmor   (29.08.2008 в 12:19)   личное сообщение
 
 

Может.
Но работа с SQL сервер из MDB, тоже очень сильно отличается от работы c данными в MDB.
Так же необходимо переучиваться использовать возможности SQL сервера.
Кроме того ODBC в принципе не очень быстрое соединение.
Необходимо где возможно использовать запросы к серверу, а не обычные связанные таблицы
Если данные будут однозначно на SQL сервере и нет сильных ограничений по времени разработки я бы выбрал ADP.
Тут Валерий Крук (KrukVN) высказывал мысли по поводу использования в MDB для соединения с сервером ADODB, подсовывая формам открытый рекордсет. Это позволяет остаться в MDB при этом используя более быстрое соединение, но как это будет на практике лучше у него спросить

  Ответить  
 
 автор: Pasat   (29.08.2008 в 12:34)   личное сообщение
 
 

А если начать в MDB и затем и если появиться необходимость, перейти на ADP.
Это будет очен проблемно ???
Как понял из литературы такая возможность существует

  Ответить  
 
 автор: osmor   (29.08.2008 в 12:36)   личное сообщение
 
 

сильно теоретически
Если только вы сразу все запросы будете писать в синтаксисе T-SQL не используя функция ACCESS

  Ответить  
 
 автор: Pasat   (29.08.2008 в 12:45)   личное сообщение
 
 

Картина понемногу проясняется
Большое спасибо за разъяснения

  Ответить  
 
 автор: KrukVN   (29.08.2008 в 14:44)   личное сообщение
 
 

Для начала, я думаю, нужно определится с тем, какую СУБД предпочтительнее использовать для решения поставленной задачи:
- файл-серверную
или
- клиент-серверную
если клиент-серверную, то в случае с ADP Вы будете жестко привязаны к одному источнику данных -> MS SQL Server. Другой альтернативы для ADP наверное и нету.
Если Вас ЭТО устраивает, то лучше сразу переходить на ADP, т.к. потом (если все-же начнете с mdb, а потом решите переселяться на adp) будет трудно.
*
а вот если захочется и другие СУБД 'пощупать', то наверное лучше оставаться в mdb в связке с ado.
а может вообще стоит слазить с акса

  Ответить  
 
 автор: Denis V.   (29.08.2008 в 16:38)   личное сообщение
 
 

На что слазить-то? Я бы слез, если бы знал на что. Хотя, привык я к VBA ;-)

  Ответить  
 
 автор: Pasat   (29.08.2008 в 17:26)   личное сообщение
 
 

Еще один вопрос из области философии

Сколько займет времени чтобы начать более менее разбираться в ADP

  Ответить  
 
 автор: Кабан   (29.08.2008 в 17:29)   личное сообщение
 
 

зависит от опыта работы в индустрии :)
и личных качеств

  Ответить  
 
 автор: Pasat   (29.08.2008 в 18:01)   личное сообщение
 
 

Уверен что многие это уже проходили
Может кто обозначит конкр.временные рамки, основываясь на своем опыте

Если для этого достаточно прочитать одну книжку это одно, а если на освоение уйдет ну например полгода то это уже другое.
Начинать программу надо сейчас

ЗЫ Всем хороших выходных
и спасибо за содержательные ответы

  Ответить  
 
 автор: SRG   (29.08.2008 в 23:14)   личное сообщение
 
 

Не согласен:

*********
Кроме того ODBC в принципе не очень быстрое соединение.
Необходимо где возможно использовать запросы к серверу, а не обычные связанные таблицы
**************

Прямой запрос к серверу = ODBC (см. также ODBC WorkSpace);
Связанные таблицы = jet + ODBC.

Запросы к серверу выполяются посредством драйвера ODBC. Да, связанные таблицы работают медленнее, поскольку при обработке данных используется дополнительная прослойка - JET. Но как можно говорить про "медленное ODBC" и при этом заявлять о "быстрых" запросах к серверу?

Насчет ADO:
ADO=ODBC + ActiveX. т.е опять же медленнее, чем чистый ODBC. Я не прав?

  Ответить  
 
 автор: KrukVN   (30.08.2008 в 14:30)   личное сообщение
37 Кб.
 
 

ODBC - устаревшая и не актуальная технология.
Нет смысла сейчас ее защищать, оправдывать и тем более сравнивать с ADO например (про ADO.NET вообще промолчу). Если начинать изучать и разрабатывать клиент-серверные приложения, то на ODBC смотреть уж точно не нужно.
ODBC можно рассматривать как некий компромисс для задач, по быстрому переведенных с файл-сервера и не более.

Насчет ADO:
ADO=ODBC + ActiveX. т.е опять же медленнее, чем чистый ODBC. Я не прав?

Зависит от типа используемого драйвера. Нужно просто не ODBC-шные дрова использовать.
Посмотрите например сколько типов соединений можно сделать только к одному MS SQL Server: http://www.connectionstrings.com/?carrier=sqlserver
там кроме odbc есть и oledb и net и еще что-то
Для MySQL: http://www.connectionstrings.com/?carrier=mysql

P.S. Да, кстати, может быть Вы имели ввиду ODBC-линковку серверных таблиц/видов и обращение к ним через ado?
Зачем? Нужно сразу на ADO и не к линкованным таблицам. Посмотрите скрин: таблиц в окне БД нет вообще, потому что обращение к ним идет напрямую (минуя ODBC).
Кстати, при таком подходе можно не беспокоится о защите от шифта и от шаловливых ручек пользователей. Ну хотя-бы на уровне интерфейса

  Ответить  
 
 автор: SRG   (03.09.2008 в 20:52)   личное сообщение
 
 


Зависит от типа используемого драйвера. Нужно просто не ODBC-шные дрова использовать. 

Подскажите пожалуйста, как можно в запросе к серверу ( Запросы - Создать, Запрос - Запрос SQL - к серверу) использовать "не ODBC-шные дрова "?

  Ответить  
 
 автор: KrukVN   (03.09.2008 в 21:26)   личное сообщение
 
 


как можно в запросе к серверу ( Запросы - Создать, Запрос - Запрос SQL - к серверу) использовать "не ODBC-шные дрова "?

так конечно нельзя :)

а вот при помощи ADO - можно. Про что я собственно и говорил ранее. Видели скрин? Там нет таблиц, и запросов нет (в соотв. вкладке окна БД) ни к серверу, ни каких-либо еще. А данные в формах есть. Юзайте ADO и все вопросы пропадут.

  Ответить  
 
 автор: osmor   (31.08.2008 в 08:47)   личное сообщение
 
 

Согласен, моя фраза была не очень корректной. Я имел ввиду именно медленную работу связанных таблиц при ODBC соединении, а не само ODBC cсоединение. именно по этому следующей строкой рекомендовал использовать запросы к серверу.
Видимо нужно было так.

"Кроме того использование связаннх таблиц через ODBC 
принципе не очень быстрое соединение.
Необходимо где возможно использовать запросы к серверу,
а не обычные связанные таблицы"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList