Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726

Объясните на "пальцах": может ли Access DB быть серверной?

08.11.2018, 15:46. Показов 3151. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Сходу к делу!
Много читал и запутался в итоге)

Постараюсь коротко и самую суть. Есть программа MS Access. Поставляется вместе с пакетом MS Office. В Access удобно создавать настольные приложения. Можно создать БД + интерфейс к ней. Как понимаю, вся информация о данных + метаданных БД хранится в файле *.mdb (microsoft database).

Клиент-серверная архитектура (классическая двузвенка): на "тонком" клиенте интерфейс, который программируется, например, на C#, на "толстом" сервере лежат данные в виде базы данных. Также на сервере специализированное ПО вида СУБД/СУРБД. Вообще, если грубо, под сервером я понимаю более производительный комп + спец.ПО.

Считается, что MS Access заточен под файл-серверную технологию, а разве нельзя преобразовать ее в клиент-серверную. Например, клиент на C#, на сервере файл *.mdb.

Как я понимаю, *mdb файл с данными, но там нет встроенного интерпретатора анализа запросов и пр., т е того, что встроено в MS SQL Server, например.

Пример: у меня есть 2 компа (пусть 1 более мощный, типа он будет выступать Сервером). На Сервере нет инсталлированного пакета MS Office. У меня есть БД с расширением *.mdb, который я кладу в какую-нибудь папку на Сервер. На клиенте есть C#. Я ведь могу, используя, например, поставщик OLEDB, ODBC с клиента подключится к файлу баз данных *.mdb, располагающегося на Сервере и получать данные посредством технологии ADO.NET?? Это будет считаться клиент-серверной технологией, когда на клиенте C#, а на Сервере БД акссессовская??

P.S. про всякие Jet движки не стал писать и пр., но думаю итак понятно, что я спрашиваю)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2018, 15:46
Ответы с готовыми решениями:

Объясните мне на пальцах почему данный метод может обрабатывать MsgBox, но не может изменить свойства объекта?
Боюсь неправильно истолковать суть так что смотрите файлик - сразу поймете о чем я

Объясните как такая выдача может быть???
По запросу: "создание презентаций" в Яндексе на первом месте сайт, который на мой взгляд там просто не может быть...... как так? они просто...

Объясните мне, как может быть такая трассировка?
Как можно заметить, у некоторых узлов пинг раза в 3 выше, чем у остальных. Ладно бы только у одного узла такое было, всякие маршрутизаторы...

19
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
08.11.2018, 16:32
Цитата Сообщение от FasterHarder Посмотреть сообщение
разве нельзя преобразовать ее в клиент-серверную
Главное отличие "нормальной" СУБД от персональной СУБД - это производительная работа в многопользовательском режиме, причем желательно, чтобы число возможных пользователей измерялось не единицами, а десятками - тысячами. Access вроде поддерживает многопользовательский режим (сам не пробовал, только читал на форумах), но делает это довольно слабо, поскольку изначально позиционировался именно как персональная СУБД.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 16:34  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Главное отличие "нормальной" СУБД от персональной СУБД - это производительная работа в многопользовательском режиме, причем желательно, чтобы число возможных пользователей измерялось не единицами, а десятками - тысячами. Access вроде поддерживает многопользовательский режим (сам не пробовал, только читал на форумах), но делает это довольно слабо, поскольку изначально позиционировался именно как персональная СУБД.
да, Access поддерживает multyconnect!
спс за комментарий, но мне не стало яснее)
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
08.11.2018, 16:45
Цитата Сообщение от FasterHarder Посмотреть сообщение
но мне не стало яснее
Все зависит от того, что ты хочешь узнать и от задач, которые хочешь реализовать. Может Access работать как многопользовательская СУБД? Может. Если у тебя несколько пользователей, которые периодически заходят в БД и вводят достаточно небольшой объем инфы, а также формируют простенькие отчеты, то возможно что Access и подойдет. Если у тебя реальная учетная система с хотя бы полусотней пользователей, тысячами транзакций в сутки и таблицами с миллионами строк, то любой здравомыслящий человек Access использовать не будет, для этого есть другие СУБД, пусть и за бОльшие деньги.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 16:52  [ТС]
Grossmeister, я понял) я не про это вообще спрашиваю...
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
08.11.2018, 17:04
Цитата Сообщение от FasterHarder Посмотреть сообщение
но там нет встроенного интерпретатора анализа запросов и пр.
Именно. В СУБД есть масса процессов, которые на сервере занимаются много чем. Скажем, в Oracle больше десятка фоновых серверных процессов плюс стартует процесс на каждую сессию (который и выполняет обслуживание запросов клиентов). В Access ты с клиентской программы просто работаешь с файлом данных, неважно, лежит он локально или на сервере. То есть клиентская программа формирует запросы и сама же формирует ответы, что не есть клиент-сервер.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 17:09  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Именно. В СУБД есть масса процессов, которые на сервере занимаются много чем. Скажем, в Oracle больше десятка фоновых серверных процессов плюс стартует процесс на каждую сессию (который и выполняет обслуживание запросов клиентов). В Access ты с клиентской программы просто работаешь с файлом данных, неважно, лежит он локально или на сервере. То есть клиентская программа формирует запросы и сама же формирует ответы, что не есть клиент-сервер.
так, на 5% приблизились к моим вопросам, но пока еще очень и очень холодно)...
я ведь очень четко задал вопросы + даже пример привел + про ОДБС/ОЛЕБД немного чирканул...
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 18:03
Цитата Сообщение от FasterHarder Посмотреть сообщение
Считается, что MS Access заточен под файл-серверную технологию, а разве нельзя преобразовать ее в клиент-серверную.
Можно, но нужно быть в ссоре с головой.

Цитата Сообщение от FasterHarder Посмотреть сообщение
Например, клиент на C#, на сервере файл *.mdb.
Вы же осознаёте (вопрос риторический), что файл *.mdb - просто файл с данными, база. Для работы с ней нужна СУБД, которая будет выполнять ваши SQL-запросы, будет знать как работать с этим файлом и всё такое прочее?

Цитата Сообщение от FasterHarder Посмотреть сообщение
Я ведь могу, используя, например, поставщик OLEDB, ODBC с клиента подключится к файлу баз данных *.mdb, располагающегося на Сервере и получать данные посредством технологии ADO.NET?? Это будет считаться клиент-серверной технологией, когда на клиенте C#, а на Сервере БД акссессовская??
Нет, не будет никаким боком. Ваш сервер СУБД будет располагаться на клиенте (OLEDB, Jet), а с сервера просто будет вытягиваться файл для работы локально. Т.е. такой сервер не сервер, а просто отдаватель файла. Он может быть хоть на базе сорокоядерного Xeon, хоть в виде мобильного телефона, разницы не будет, он только отдаёт файл, работы "серверной" никакой не совершает.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 18:13  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Нет, не будет никаким боком. Ваш сервер СУБД будет располагаться на клиенте (OLEDB, Jet), а с сервера просто будет вытягиваться файл для работы локально. Т.е. такой сервер не сервер, а просто отдаватель файла. Он может быть хоть на базе сорокоядерного Xeon, хоть в виде мобильного телефона, разницы не будет, он только отдаёт файл, работы "серверной" никакой не совершает.
а вот тут поподробнее.
Т е, если использую поставщик, ну, пусть универсальный ОДБС, то он ЗАКАЧИВАЕТ полностью файл *.mdb с Сервера на Клиента, потом извлекает информацию, запоминает где-то в памяти, а файл пересылает ОБРАТНО на сервер и отображает данные из памяти. Примерная такая схема, да? Если да, то тогда констатируем, что Access, это ВСЕГДА файл-серверная вещь для создания настольных приложений. А как же adp или как там он правильно называется...
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 18:19
FasterHarder, SMB позволяет работать с отдельными частями файла, не выкачивая его целиком. Но смысл не меняется. "Сервер" просто отдаёт части файла и всё, никакой работы с базой он не совершает, ибо на нём даже ПО такого не присутствует.

Сама СУБД вшита в драйвер OLEDB\Jet, ибо относительно простая (персональная же). Т.е. настоящим сервером выступает сам клиент. Никакой клиент-серверной архитектуры нет и в помине.

Если вам нужно именно клиент-серверную архитектуру организовать, то это делается из ТРЁХ частей: клиента, сервера (на C# или любом другом языке) и самой СУБД. Сервер СУБД может торчать на той же машине, что и сервер приложения. Если это MS Access, то иного и быть не может - MS Access или Jet должен быть на той же машине, что и сервер приложения.

Но это дичь лютейшая. MS Access вообще не для таких применений. Возьмите нормальную серверную СУБД, благо, что их как грязи, и даже у платных есть бесплатные редакции.
1
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 18:29  [ТС]
Usaga, давай проясним еще следующие моменты.
1. Чтобы работать с базой файла *.mdb нужна инсталляция на этой машине MS Access (в него ведь встроена локальная СУРБД, ну там всякие анализаторы, интерпретаторы, роли, права и пр. пр.)?
2. Возможна ведь связка следующая: "толстенный" сервер MS SQL Server + "тончайший" клиент MS Access? Это уже будет классическая архитектура сервер + клиент (или наоборот, не суть )
3. Если создана БД на Access и нет ее возможности преобразовать в др. БД, то клиент ОБЯЗАНЫ создавать также на Access + забыть про клиент-сервер, так, да?
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 18:37
FasterHarder,
1. На машине, которая будет работать с файлом, должен стоять или MS Access или OLEDB\Jet (которые ставятся, обычно, ставятся с MS Access).

Цитата Сообщение от FasterHarder Посмотреть сообщение
"толстенный" сервер MS SQL Server + "тончайший" клиент MS Access?
Шта?...

3. Мигрировать данные из Access можно в любую другую СУБД. Может для этого даже и готовые инструменты есть, я не знаю. Но если и нету, то можно через OLEDB\Jet вытащить данные из всех таблиц и отправить в другую СУБД.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 18:41  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Шта?...
ну ты чего, ну стандарт ведь) клиент (Аксес) + сервер (БД под управлением MS SQL Server)...

Цитата Сообщение от Usaga Посмотреть сообщение
3. Мигрировать данные из Access можно в любую другую СУБД.
я знаю, что можно, но, если "нельзя", то клиента ваять нужно на Аксес, т к это крайне удобно...

РЕЗЮМЕ: Access заточен под файл-сервер (хотя там еще АДП есть разбивка), поэтому, если нужен классический клиент+сервер, то смотреть нужно в сторону SQL Server/Oracle, а клиента ваять на том языке, который хорошо знаешь, в том числе и Access...ну так ведь, да? ну должно быть так!
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 18:47
FasterHarder, делать клиент на Access? Для SQL Server это скорее всего возможно. Но это дичь какая-то, если честно.
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 18:50  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Но это дичь какая-то, если честно.
это бывает НОРМАЛЬНАЯ, вкусная дичь)
меня интересует сам факт, что это возможно)

И крайний вопрос: допустим сделали БД + интерфейсы под Access. Этой прогой должны пользоваться 15 юзеров. Что делаем? Инсталлим у них у всех MS Access, затем выделяем Сервер, туда кладем *.mdb или придется раздать всем копии на эти 15 компов этой БД? Я не знаю, репликации поддерживает Аксес, вроде частично, хотя хз...
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 18:56
FasterHarder, если у каждого будет своя копия базы... То как другие пользователи будут видеть работу друг друга?

Цитата Сообщение от FasterHarder Посмотреть сообщение
это бывает НОРМАЛЬНАЯ, вкусная дичь)
Дичь нормальной не бывает никогда.

Я так понимаю, что речь идёт о том, чтобы не оплачивать разработку нормальной ИС, а украсть на торрент-треккере офисный пакет на сумму разработки этой самой ИС и воткнуть всем пользователям? Хоть бекапы, тогда, делайте почаще...
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 18:59  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Я так понимаю
неправильно понимаешь!

Цитата Сообщение от Usaga Посмотреть сообщение
FasterHarder, если у каждого будет своя копия базы... То как другие пользователи будут видеть работу друг друга?
никак. Значит нужно взять 1 файл *.mdb положить на Сервант и обеспечить удаленный доступ с 15 компов. Только я не знаю, там всякие блокировки, изоляции как будут. В MS SQL Server прекрасно все это работает.

В общем ладно, Usaga, спс. за помощь! Мне не все понятно и я далеко не все осознал глубоко, но кое-что я понял))
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 19:02
Цитата Сообщение от FasterHarder Посмотреть сообщение
Только я не знаю, там всякие блокировки, изоляции как будут.
С этим будет максимально сложно) Несколько процессов будут пытаться одновременно работать с одним файлом.

Цитата Сообщение от FasterHarder Посмотреть сообщение
неправильно понимаешь!
Тогда почему не сделать нормально?
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
08.11.2018, 19:06  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Тогда почему не сделать нормально?
я вообще прогаю на связке C# + SQL Server 2000/2008, но мне стало чисто любопытно, а можно ли взять C# + Access, оказалось, что НЕТ)
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
08.11.2018, 19:12
FasterHarder, я вроде бы сказал, что можно. Только OLEDB\Jet должен стоять на сервере приложения. Или я этого не говорил?)

Добавлено через 1 минуту
Цитата Сообщение от FasterHarder Посмотреть сообщение
я вообще прогаю на связке C# + SQL Server 2000/2008
А с SQL 2012 и выше вы работать уже не можете?))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2018, 19:12
Помогаю со студенческими работами здесь

Объясните на Пальцах!
Зачем паралельно катушке реле включают конденсатор или диод или все вместе.

Объясните алгоритм на пальцах
Всем привет. Объясните мне пожалуйста алгоритм внешней сортировки "сбалансированное двухпутевое слияние" на пальцах. Что смог понять...

Объясните замыкания в C# на пальцах
Объясните, пожалуйста, как можно проще. Желательно с самыми простыми примерами.

Объясните на пальцах возврат из функции
ДД. Есть функция функция СуммаЧека(ШапкаЧека) СуммаПоЧеку = 0; Для Каждого Стр Из ШапкаЧека.ПозицииЧека Цикл СуммаПоЧеку...

Вывод значения EAX - объясните на пальцах
Здравствуйте, нужно узнать значение EAX после выполнения данного блока инструкций, объясните пожалуйста на пальцах, что здесь к чему и как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru