Jak zezwolić wielu osobom na otwieranie mojej bazy danych Access?

1

Mam niezwykle prostą bazę danych Access. Ma jedno zapytanie tranzytowe i to wszystko (bez tabel). Zapytanie po prostu wykonuje procedurę przechowywaną przeciwko bazie danych SQL Server, aby wyświetlić wyniki. W bazie danych Access nie zostaną zapisane żadne dane; będzie on używany tylko do wyświetlania wyników procedur przechowywanych.

Umieszczam bazę danych w udziale sieciowym. Jeśli mam otwartą bazę danych Access, żaden z moich współpracowników nie jest w stanie otworzyć bazy danych, aby wyświetlić dane. Dostają błąd: „Nie można zablokować pliku”.

Jak mogę zezwolić wielu użytkownikom na otwieranie pliku Access i wyświetlanie wyników zapytania?

Justin Helgerson
źródło
Tutaj jest właściwym sposobem na umożliwienie wielu użytkownikom dostępu do pojedynczej bazy danych dostępu.
Ramhound

Odpowiedzi:

1

Jak mogę zezwolić wielu użytkownikom na otwieranie bazy danych dostępu w udziale sieciowym?

Udostępnij bazę danych za pomocą folderu sieciowego

Najprostszym sposobem na udostępnienie bazy danych jest umieszczenie jej w udostępnionym folderze sieciowym. Chociaż jest to najprostsza metoda, jest również najbardziej ograniczona. Przed rozważeniem tej metody należy spełnić wszystkie następujące warunki:

  • Oczekuje się, że nie więcej niż kilka osób będzie korzystać z bazy danych w tym samym czasie.

  • W bazie danych nie ma pól Nota, a jeśli tak, nie będą one jednocześnie aktualizowane przez różnych użytkowników.

  • Użytkownicy nie muszą dostosowywać projektu bazy danych.

Uwaga Ta metoda jest mniej bezpieczna niż inne metody udostępniania a   baza danych, ponieważ każdy użytkownik ma pełną kopię pliku bazy danych,   zwiększenie ryzyka nieautoryzowanego dostępu.

Aby udostępnić bazę danych za pomocą folderu sieciowego

  1. Jeśli nie jest jeszcze dostępny, skonfiguruj udostępniony folder sieciowy.

    Aby uzyskać pomoc dotyczącą tego kroku, zobacz system pomocy dla systemu operacyjnego komputera, którego chcesz użyć do udostępniania bazy danych. Jeśli   folder udostępniony znajduje się na serwerze sieciowym, możesz potrzebować pomocy   od administratora sieci.

  2. Upewnij się, że program Access jest ustawiony na otwarcie w trybie współdzielonym na wszystkich komputerach użytkowników. Jest to ustawienie domyślne, ale powinieneś   sprawdź, czy jesteś pewien - jeśli użytkownik otworzy bazę danych w trybie wyłącznym, to   będzie kolidować z wykorzystaniem danych przez innych. Wykonaj następujące czynności   procedura na każdym komputerze:

    • Rozpocznij dostęp.

    • Kliknij obraz przycisku pakietu Microsoft Office Przycisk przycisku, a następnie kliknij polecenie Opcje dostępu.

    • W lewym okienku okna dialogowego Opcje dostępu kliknij przycisk Zaawansowane.

    • W prawym okienku okna dialogowego Opcje dostępu, w sekcji Zaawansowane, w domyślnym trybie otwartym wybierz opcję Udostępnione.

    • Kliknij przycisk OK, a następnie zamknij program Access.

  3. Skopiuj plik bazy danych do folderu udostępnionego. Po skopiowaniu pliku upewnij się, że atrybuty plików są ustawione tak, aby zezwalać na odczyt / zapis   dostęp do pliku bazy danych. Użytkownicy muszą mieć dostęp do odczytu / zapisu   baza danych.

  4. Na komputerze każdego użytkownika utwórz skrót do pliku bazy danych.

    Po wprowadzeniu ścieżki do pliku bazy danych we właściwości Docelowy skrótu użyj adresu UNC zamiast zamapowanego dysku   list. Na przykład zamiast F: app.dbcdb użyj   nazwa_użytkownika shared.accdb.

    Uwaga Ten krok może być również wykonany przez samych użytkowników.

Źródło Sposoby udostępniania bazy danych Access

DavidPostill
źródło
Jinx jest mi winien colę!
Ramhound
Twoja odpowiedź została przesłana w ciągu kilku sekund od mojego komentarza. Nie wiesz, jak kogoś kpić?
Ramhound
@DavidPostill - Tak jak wspomniałem w swoim poście, mam bazę danych w udziale sieciowym. Tylko jedna osoba może otworzyć bazę danych w danym momencie. Dostają błąd: „Nie można zablokować pliku”
Justin Helgerson
@ Ek0nomik Następnie nie otwierasz bazy danych w trybie współdzielonym.
DavidPostill
@DavidPostill - Wygląda na to, że jeśli ja (twórca bazy danych Access) otworzy się, nikt inny nie może go otworzyć (mimo że moje ustawienia klienta zostały ustawione w trybie współdzielonym). Jeśli ktoś inny ma to otwarte, nadal mogę je otworzyć.
Justin Helgerson
0

Jeśli ktoś zada to pytanie, ale używając OLEDB, wydaje się, że „tryb współdzielony” jest zawsze włączony z powodu istnienia trybu „wyłącznego”:

Ekskluzywny Służy do uzyskania wyłącznego dostępu do bazy danych, jeśli użytkownik   instancja, niech aplikacja będzie mogła zresetować bazę danych   hasło.

Provider = Microsoft.Jet.OLEDB.4.0; Źródło danych = C: database.mdb;   Mode = Share Exclusive, User Id = admin; Password =;

https://www.connectionstrings.com/access/

Ten wątek ma również interesujące informacje na temat korzystania z „trybu” https://social.msdn.microsoft.com/Forums/en-US/c90b1166-e5ee-43ff-a49b-9efe9f416475/opening-an-ms-access-database-in-exclusive-mode-using-adonet? adodotnetdataproviders

Geordie
źródło