Bazaprogram.ru

Новости из мира ПК
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access монопольный доступ

Access монопольный доступ

Режимы работы с базой данных в сети

База данных может быть открыта пользователем в сети в одном из четырех режимов.

  • Открытие в режиме общего доступа. База данных открывается для чтения и записи. Другие пользователи тоже могут открыть базу данных (в любом режиме).
  • Открытие в режиме монопольного доступа. База данных открывается для чтения и записи. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме-монопольного доступа.
  • Открытие в режиме общего доступа только для чтения. База данных открывается только для чтения. Другие пользователи тоже могут открыть базу данных (в любом режиме).
  • Открытие в режиме монопольного доступа только для чтения. База данных открывается только для чтения. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме монопольного доступа.

Можно указать режим открытия базы данных, используемый по умолчанию:

  1. Откройте базу данных.
  2. Выберите команду Сервис, Параметры (Tools, Options). Появится диалоговое окно Параметры (Options).
  3. Раскройте вкладку Другие (Advanced).
  4. В группе Режим открытия по умолчанию (Default open mode) выберите переключатель общий доступ (Shared) или монопольный доступ (Exclusive).

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

Кроме того, независимо от установленного режима по умолчанию, пользователь может открыть базу данных в любом режиме, указав его следующим способом:

  1. Выберите команду Файл, Открыть (File, Open). Появится диалоговое окно Открытие файла базы данных (Open).
  2. Щелкните по стрелке, находящейся справа от кнопки Открыть (Open). Раскроется список всех возможных режимов открытия базы данных (рис. 16.1).
  3. Выберите в списке элемент, соответствующий требуемому режиму открытия базы данных:
    • Открыть (Open) — режим общего доступа для чтения и записи;
    • Открыть для чтения (Open Read-Only) — режим общего доступа, открыть только для чтения;
    • Монопольно (Open Exclusive) — режим монопольного доступа;
    • Монопольно для чтения (Open Exclusive Read-Only) — режим монопольного доступа, открыть только для чтения.

Рис. 16.1. Список режимов открытия базы данных

Можно запретить определенным пользователям сети открывать базу данных, защищенную на уровне пользователей, в монопольном режиме, для чего необходимо удалить права этих пользователей на монопольный доступ к базе данных. (Об установке прав доступа рассказано в гл. 20.)

Если база данных (файл с расширением mdb) открывается в режиме общего доступа, Microsoft Access создает файл блокировок с таким же именем, как база данных, но с расширением Idb, который располагается в той же папке, где хранится файл базы данных. В файле блокировок сохраняется имя компьютера (например, MYCOMP) и регистрационное имя пользователя базы данных (например, Admin) для каждого пользователя, открывшего базу данных для совместного использования. Файл блокировок используется Microsoft Access во время совместной работы пользователей с файлом базы данных. Этот файл автоматически удаляется после того, как последний пользователь закроет базу данных.

Иногда в результате сбоев файл блокировок не удаляется автоматически. В этом случае его следует удалить самостоятельно, иначе файл баз данных будет заблокирован и пользователи не смогут открыть базу данных.

Access монопольный доступ

база — MS Access на сервере,
с ней работают проект на VB Studio (ASPX) и программа на delphi
delphi блокирует базу и использование базы совместно не получается, aspx говорит что файл занят
как это разрулить?

из delphi — ADOConnection1
Prov

из VB — OdbcConnection1
MaxBufferSize=2048;FIL=MS Access;DSN=monit;PageTimeout=5;U >
ADOConnection.Mode ставлю cmShareDenyNone все равно пишет
ERROR [IM006] [Microsoft][Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr драйвера
ERROR [HY000] [Microsoft][Драйвер ODBC Microsoft Access] Невозможно использовать «(нет данных)»; файл уже используется.

те похоже Delphi устанавливает монопольный доступ
как его отменить?
подскажите, не встречался с таким
спасибо


sniknik © ( 2008-05-14 17:13 ) [1]

> ADOConnection.Mode ставлю cmShareDenyNone
сюда лезть следует в последнюю очередь, а лучше вообще не трогать

readonly/монопольность может быть прописан в DSN, может сам файл базы запрещено редактировать, а может нет возможности в папке с базой файл блокировок создать.
это надо сначала проверять.

> те похоже Delphi устанавливает монопольный доступ
только если так написано (специально/случайно), сам по себе никогда.


MishaLuk ( 2008-05-14 17:21 ) [2]

может нет возможности в папке с базой файл блокировок создать.

как так может быть?
пока не работает прогр на Delphi есть возможность, а когда работает нет?
вы хотите сказать что проект на aspx не может создать свой файл блокировок потому что его создала прога на Delphi?

вообще этот случай типичен или нет?
те в принципе все должно работать вместе ?
спасибо


sniknik © ( 2008-05-14 17:47 ) [3]

> как так может быть?
по разному может быть. что конкретно в твоем случае происходит ты не написал.

> те в принципе все должно работать вместе ?
и в принципе и без принципов, если написано без блокирования (по умолчанию так), и админ чегонибудь не то не запретил, то без проблем работает вместе (2, 3..5 коннектов, больше не рекомендуется, хотя может и больше (у меня както изза дурости менеджеров на аксесной базе 46 пользователей работало. недолго, как узнали поменяли на mssql)).


Palladin © ( 2008-05-14 17:48 ) [4]


> у меня както изза дурости менеджеров на аксесной базе 46
> пользователей работало

фигасе 🙂 и как? jet держал?

Читать еще:  Первичный ключ access


sniknik © ( 2008-05-14 19:33 ) [5]

не жаловались. 😉
конкретики не знаю, т.к. «у меня» это не совсем точно, точнее с моей программой у клиентов, узнали чисто случайно, гдето через пару месяцев они захотели добавить клиентов (место лицензируется) до 48-ми, и вот уже эта заявка попала ко мне.
сейчас кстати у них уже где то 80 мест, но уже с mssql-ем естественно.


sniknik © ( 2008-05-14 19:40 ) [6]

> эта заявка попала ко мне.
блин. опять не совсем точно. я не занимаюсь отгрузкой программ, просто я про это узнал, новый работник внедрения не знал как пришивается ключь на лицензии, и пришел почемуто ко мне за помощью. остальные вроде на выездах были. случайно в общем.


MishaLuk ( 2008-05-16 11:41 ) [7]

уже переписал все под Microsoft.Jet.OLEDB
и все равно
невозможно выполнение aspx страницы при запущенной программе на дельфи (обращаются к одной БД)

соединяюсь из VB (страница aspx) с БД через Microsoft.Jet.OLEDB соединение
Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source=»C:MyWebFormd1.mdb»;Mode=Share Deny Write;Jet OLEDB:Engine Type=5;Prov t Copy Locale on Compact=False;User >
программа на дельфи
в дельфи строка подключения
Prov >
невозможно выполнение aspx страницы при запущенной программе на дельфи
результат работы aspx страницы

Exception Details: System.Data.OleDb.OleDbException: Невозможно использовать «»; файл уже используется.
(хотя 2 копии программы на дельфи работают с одной БД , запщены одновременно)
как это решить?


Anatoly Podgoretsky © ( 2008-05-16 12:07 ) [8]

> MishaLuk (16.05.2008 11:41:07) [7]

Так у тебя в VB запрещено, и при чем тут тогда Дельфи


sniknik © ( 2008-05-16 12:38 ) [9]

> как это решить?
строку подключения в VB сделай такую же ка в дельфи.


sniknik © ( 2008-05-16 12:41 ) [10]

вернее вот так, в дельфи тоже поменяй
Prov >


MishaLuk ( 2008-05-16 12:48 ) [11]

поменял и в дельфи и в VB
Prov >
все равно при работающей дельфи aspx страница выдает
Exception Details: System.Data.OleDb.OleDbException: Невозможно использовать «»; файл уже используется.
дельфи закрываю и aspx работает 🙁


sniknik © ( 2008-05-16 13:02 ) [12]

> aspx работает 🙁
под каким юзером? у него есть права на папку с базой, он может менять файл блокировок?

запусти 2 копии своей страницы, без проги на делфи, вторая что выдает?


Anatoly Podgoretsky © ( 2008-05-16 13:12 ) [13]

Это часть сообещения таких баз конечно нет.


MishaLuk ( 2008-05-16 14:08 ) [14]


> запусти 2 копии своей страницы, без проги на делфи, вторая
> что выдает?

работают вместе две страницы нормально

> под каким юзером? у него есть права на папку с базой, он
> может менять файл блокировок?

пока это крутиться все на локальной машине под администратором компа +domain admins


> Это часть сообещения таких баз конечно нет.

извините мне кажеться если бы не было то не писала бы файл уже используется
и как дельфи может убивать БД?
спасибо


sniknik © ( 2008-05-16 14:44 ) [15]

> и как дельфи может убивать БД?
никак.
см. [1]
> только если так написано (специально/случайно), сам по себе никогда.


sniknik © ( 2008-05-16 14:54 ) [16]

> извините мне кажеться если бы не было то не писала бы файл уже используется
разобраться почему «» вместо имени файла нужно обязательно.


MishaLuk ( 2008-05-16 15:07 ) [17]

фантастика
перенес с компа где разрабатываю на комп где будет все эскплуатироваться
и все работает (дельфи с aspx)
разница- другие настройки доступа на папку и настройки IIS?

подскажите пожалуйста где можно толково прочитать про общий доступ и безопасность
очень это нервы мотает , меняю, а смысла до конца не понимаю
спасибо большое


MishaLuk ( 2008-05-16 15:28 ) [18]

надо было на паку с базой дать «все» полный доступ в «безопасность»

где про это почитать??
потому что встречал что даешь «все» полный доступ и перестает прога работать

Access монопольный доступ

На этом шаге рассмотрим настройку других параметров.

Для настройки параметров в окне Параметры имеется вкладка Другие (рис. 1.), содержащая следующие разделы:

Операции DDE. Позволяет установить следующие параметры:

  1. Пропуск команд DDE. Если данный флажок установлен, то команды DDE, поступающие из других приложений, игнорируются.
  2. Обновление связей DDE. Этот флажок устанавливается для обновления связей DDE с интервалом, указанным в поле Период обновления (с).

Режим открытия по умолчанию. Позволяет установить следующие параметры:

  1. Общий доступ. По умолчанию база данных будет открываться для общего доступа.
  2. Монопольный доступ. По умолчанию база данных будет открываться для монопольного доступа.

Блокировка по умолчанию. Управляет используемым по умолчанию режимом блокировки записей в сети. Позволяет установить следующие параметры:

  1. Отсутствует. Редактируемая запись не будет блокироваться.
  2. Всех записей. Происходит блокирование всех записей в редактируемой форме или таблице сразу после их открытия.
  3. Изменяемой записи. Блокируется только редактируемая запись.

Блокировка записей при открытии БД. Флажок устанавливается для использования блокировки на уровне записей в текущей базе данных по умолчанию. Если флажок снят, то используется по умолчанию блокировка на уровне страниц (при которой блокируются все записи на странице на диске). Если флажок установлен, блокировка на уровне записей становится стандартным режимом блокировки при доступе к данных через формы, объекты в режиме таблицы и программы, которые используют набор записей для переходов по записям. Это не относится к запросам на изменение и к программам, выполняющим массовые операции с помощью инструкций SQL.

Читать еще:  Запити в access

Аргументы командной строки. Вводятся значения, которые должна возвращать функция Command.

Время ожидания OLE/DDE (c). Промежуток времени, после которого Microsoft Access повторяет неудачную попытку выполнения операций OLE или DDE, в пределах от 0 до 300 секунд.

Период обновления. Промежуток времени, после которого Microsoft Access автоматически обновляет записи в режиме таблицы или формы, в пределах от 1 до 32766 секунд.

Число повторов обновления. Число попыток сохранения измененной записи, если эта запись заблокирована другим пользователем (от 0 до 10).

Период обновления ODBC (c). Промежуток времени, после которого Microsoft Access автоматически обновляет записи, доступ к которым осуществляется по протоколу ODBC, в пределах от 1 до 32766 секунд. Данная настройка действует только для базы данных, используемой в режиме общего доступа в сети.

Период повтора обновления (мc). Промежуток времени, после которого Microsoft Access автоматически повторяет попытку сохранения измененной записи, если эта запись заблокирована другим пользователем, в промежутке от 0 до 1000 миллисекунд.

Предыдущий шаг Содержание

Способы совместного использования базы данных Access

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

В этой статье

Общие сведения о способах предоставления доступа к данным Access

Приложения баз данных меняются и увеличиваются с течением времени. Многие факторы влияют на требования и производительность, включая количество одновременных пользователей, сетевую среду, пропускную способность, задержку, размер базы данных, пиковое время использования и ожидаемые тарифы роста. Коротко говоря, если решение для базы данных прошло успешно, возможно, его потребуется развивать. К счастью, у Access есть более сложный путь, от простого к расширенному, который можно использовать для эффективного масштабирования решения. В следующей таблице перечислены сценарии доступа и рабочие нагрузки, которые помогут выбрать этот путь.

Предоставление общего доступа к одной базе данных

Это самый простой вариант с минимальными требованиями, но он обеспечивает наименьшую функциональность. При этом методе файл базы данных хранится на общем сетевом диске, и все пользователи одновременно его используют. Поскольку все объекты базы данных используются одновременно, несколько пользователей могут одновременно изменять данные, что ограничивает надежность и доступность. Может также снижаться производительность, поскольку все объекты базы данных пересылаются по сети.

Этот вариант подходит в том случае, если базу данных одновременно будут использовать несколько человек и пользователям не потребуется изменять структуру базы данных. Но этот метод менее безопасен, чем другие методы предоставления общего доступа к базе данных, так как у каждого пользователя есть полная копия файла базы данных, что повышает риск несанкционированного доступа.

Чтобы предоставить общий доступ к базе данных с помощью общей папки, выполните указанные ниже действия.

В домашних и малых офисных средах предоставьте общий доступ к папке с определенными людьми. Дополнительные сведения можно найти в разделе Общий доступ к файлам в сети в Windows 10.

Приложение Access должно быть настроено для открытия в режиме совместного доступа на компьютерах всех пользователей. Данный режим используется по умолчанию, однако это необходимо проверить: если пользователь откроет базу данных в монопольном режиме, другие пользователи не смогут работать с данными.

Запустите Access и на вкладке Файл выберите пункт Параметры.

В окне Параметры Access выберите пункт Параметры клиента.

В разделе Дополнительно в разделе режим открытия по умолчаниювыберите общий доступ, нажмите кнопку ОКи закройте Access.

Скопируйте файл базы данных в общую папку. Затем настройте атрибуты файла таким образом, чтобы разрешить доступ к файлу базы данных для чтения и записи. Для использования базы данных необходим доступ к ней с правами на чтение и запись.

На компьютере каждого пользователя создайте ярлык для файла базы данных. Дополнительные сведения можно найти в разделе Создание ярлыка на рабочем столе для программы или файла Office.

Совместное использование разделенной базы данных

Этот способ целесообразен при отсутствии сайта SharePoint или сервера базы данных. Вы можете предоставить общий доступ к разделенной базе данных в локальной сети. При разделении базы данных она реорганизуется в два файла: серверную базу данных, которая содержит таблицы данных, и клиентскую базу данных, в которой содержатся все остальные объекты базы данных (например, запросы, формы, отчеты). Каждый пользователь взаимодействует с данными с помощью локальной копии внешней базы данных.

Ниже перечислены преимущества разделения базы данных.

Повышенная производительность В сети используются только данные, а не таблицы, запросы, формы, отчеты, макросы и модули.

Повышенная доступность Транзакции базы данных, например редактирование записей, выполняются быстрее.

Улучшенная безопасность . Пользователи получают доступ к серверной базе данных через связанные таблицы; вероятность того, что злоумышленники могут получить несанкционированный доступ к данным через клиентскую базу данных, менее высока.

Повышенная надежность Если пользователь сталкивается с проблемой, а база данных неожиданно закрывается, то любое повреждение файла базы данных обычно ограничивается копией клиентской базы данных, открытой пользователем.

Гибкая среда разработки Каждый пользователь может независимо разрабатывать запросы, формы, отчеты и другие объекты базы данных, не влияя на работу других пользователей. Кроме того, вы можете разрабатывать и распространять новую версию клиентской базы данных, не нарушая доступ к данным, хранящимся в серверной части базы данных.

Читать еще:  Как создавать таблицы в access

Дополнительные сведения можно найти в разделе разделение базы данных Access.

Предоставление общего доступа к данным на сайте SharePoint

Есть несколько способов предоставления доступа к данным Access на сайте SharePoint.

Связывающ Процесс связывания подключается к данным в другой программе, так что вы можете просматривать и редактировать последние данные в SharePoint и Access, не создавая и не сохраняя копии данных в Access. Если вы не хотите копировать список SharePoint в базу данных Access, но вместо этого вы хотите выполнять запросы и создавать отчеты на основе содержимого этого списка, вы можете создать ссылку на данные.

Местив Когда вы перемещаете данные из Access на сайт SharePoint, вы создаете списки на сайте SharePoint, которые остаются связанными с таблицами в базе данных. Мастер экспорта таблиц в SharePoint позволяет одновременно перемещать данные из всех таблиц и поддерживать их связь.

Об Несмотря на то что вы можете сохранить файл базы данных Access в OneDrive или библиотеку документов SharePoint, не рекомендуется открывать базу данных Access из этих папок. Файл может быть загружен локально для редактирования, а затем снова передан после сохранения изменений в SharePoint. Если вы открываете базу данных Access из SharePoint несколькими пользователями, может возникнуть несколько копий базы данных, что может привести к неожиданному поведению. Эта рекомендация применима ко всем типам файлов Access, включая одну базу данных, разделенную базу данных и форматы файлов ACCDB, ACCDC, ACCDE и ACCDR. Дополнительные сведения о развертывании Access можно найти в разделе развертывание приложения Access.

Предоставление общего доступа к данным с помощью сервера баз данных

Совместное использование базы данных можно организовать с помощью приложения Access и сервера баз данных (например, сервера SQL Server). Этот способ обеспечивает много преимуществ, но для него требуется дополнительное программное обеспечение — сервер баз данных.

Этот способ напоминает разделение баз данных, поскольку таблицы хранятся в сети, а у каждого пользователя есть локальная копия файла базы данных Microsoft Access, содержащая ссылки на таблицы, запросы, формы, отчеты и другие объекты базы данных. Преимущества этого метода зависят от используемого программного обеспечения сервера баз данных, но в общем случае они включают наличие учетных записей пользователей и избирательный доступ к данным, отличную доступность данных и удобные встроенные средства управления данными. Более того, большинство серверных приложений для работы с базами данных нормально работают с более ранними версиями Access, поэтому не требуется, чтобы все пользователи работали с одной и той же версией. Совместно используются только таблицы. Дополнительные сведения можно найти в разделе Миграция базы данных Access в SQL Server, Импорт или связывание данных в базе данных SQL Server, а также связывание или импорт данных из базы данных Azure SQL Server.

Преимущества совместного использования базы данных с помощью сервера баз данных

Высокая производительность и масштабируемость Во многих случаях сервер базы данных повышает производительность, чем единственный файл базы данных Access. Многие серверные продукты баз данных также обеспечивают поддержку очень больших баз данных размером примерно в 500 в течение интервала (2 ГБ) для файла базы данных Access (два гигабайта). Продукты сервера баз данных обычно работают очень эффективно, параллельно обрабатывая запросы (используя несколько собственных потоков в одном процессе для обработки запросов пользователей), а также свести к минимуму дополнительные требования к памяти при добавлении новых пользователей.

Повышенная доступность Большинство серверных продуктов базы данных позволяют создавать резервные копии базы данных во время ее использования. Таким образом, пользователям не нужно принудительно закрывать базу данных для резервного копирования данных. Более того, сервер баз данных обычно обрабатывает параллельное редактирование и блокировку записей очень эффективно.

Повышенная безопасность Невозможно полностью защитить базу данных. Тем не менее, серверные продукты базы данных предлагают надежную защиту, которая поможет вам защитить ваши данные от несанкционированного использования. Большинство серверных продуктов баз данных предлагают безопасность на основе учетных записей, позволяя указать, кто может видеть, какие таблицы. Даже в случае неправильного получения доступа к интерфейсу, несанкционированное использование данных запрещено защитой на основе учетной записи.

Автоматические возможности восстановления В случае сбоя системы (например, аварийного завершения работы операционной системы или отключения питания) некоторые серверные продукты баз данных имеют механизмы автоматического восстановления, которые восстанавливают базу данных до последнего состояния согласованности в течение минут, без администратора базы данных. участвовать.

Обработка на сервере Использование Access в конфигурации клиента и сервера помогает уменьшить сетевой трафик, обрабатывая запросы к базе данных на сервере перед отправкой результатов клиенту. Обработка сервером обычно более эффективна, особенно при работе с большими наборами данных.

Azure SQL Server Помимо преимуществ SQL Server, обеспечивает динамическую масштабируемость без простоев, интеллектуальной оптимизации, глобальной масштабируемости и доступности, исключения аппаратных затрат и сокращенного администрирования.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Ссылка на основную публикацию
Adblock
detector