Tabele Accessa na Linuxie

Przeglądarki, poczta, pakiety biurowe, prezentacje itd.
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Tabele Accessa na Linuxie

Post autor: Miromat »

Nie wiem czy piszę w dobrym dziale, ale wydaje mi się, że tu będzie najlepiej pasowało.
Mam bazę Accessa, która jest podzielona na front-end i back-end, aby można na niej pracować w wielodostępie. Back (tabele) są na serwerze plików, front (część wykonawcza) na 3 komputerach użytkowników. Jeżeli tabele są na serwerze plików zrobionym na Windowsie to wielodostęp działa - wszyscy trzej użytkownicy mogą jednocześnie korzystać z tabel. Gdy plik z tabelami przeniosę na serwer plików zrobiony na Ubuntu to wielodostępu nie ma - do tabel podłączy się tylko ten kto będzie pierwszy. Pozostali dostają komunikat, że plik jest już wykorzystywany i nie można się podłączyć. Plik back na Linuxie ma uprawnienia 777. Czy ktoś jest w stanie mi wytłumaczyć dlaczego tak się dzieje? Czy to jest jakaś specyfika Linuxa?
Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8611
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Tabele Accessa na Linuxie

Post autor: mario_7 »

Tutaj pojawił się podobny problem: https://ubuntuforums.org/showthread.php?t=2213591
Rozwiązanie: https://lists.samba.org/archive/samba-n ... 13519.html

Czyli w konfiguracji Samba:

Kod: Zaznacz cały

create mask = 774
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Re: Tabele Accessa na Linuxie

Post autor: Miromat »

Problem już rozwiązany. Niestety, nie tędy droga. W pliku konfiguracyjnym Samby smb.conf w sekcji udziału trzeba było dopisać parametr oplock=no. Może ta informacja komuś się przyda.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4679
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Tabele Accessa na Linuxie

Post autor: jacekalex »

Ja radziłbym olać bazę MS Acces, i migrować na bazę SQL, do wyboru masz MSSQL, Oracle DB - mają darmowe wersje,
czy Mysql (MariadDB), Postgresql albo Firebird, te są darmowe i wszystkie ożenisz z z MSO, Libreoffice czy Calligrą.

Radziłbym też ze względów bezpieczeństwa (w miarę możliwości) bazę danych trzymać na Linuxie, to trochę bardziej przewidywalna
i stabilna platforma, niż wszystkie wyroby Microsoftu. :twisted:


Sznurki (także z obrazkami ;-)):

http://www.postgresonline.com/journal/a ... reSQL.html
https://dev.mysql.com/doc/connector-odb ... ables.html
https://downloads.mariadb.org/connector-odbc/2.0.11/
http://turingsman.net/my-blog-list/160- ... d-via-odbc

Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Re: Tabele Accessa na Linuxie

Post autor: Miromat »

Miromat pisze:Problem już rozwiązany. Niestety, nie tędy droga. W pliku konfiguracyjnym Samby smb.conf w sekcji udziału trzeba było dopisać parametr oplock=no. Może ta informacja komuś się przyda.
Za wcześnie się pochwaliłem. Dopisanie oplock=no nic nie daje, wielodostęp nie działa. Z różnych względów nie mogę migrować z Accessa na SQL. Tak więc nadal szukam rozwiązania problemu.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4679
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Tabele Accessa na Linuxie

Post autor: jacekalex »

...nie mogę migrować z Accesa na SQL.
Dziwna sprawa, jeśli masz jakieś makra czy wtyczki na MSO, to nie trudno je przerobić.
Pomiędzy MS Acces i MSSQL to w ogóle jest proste jak sznurek w kieszeni (załatwia się to w menu Accesa), z innymi bazami trzeba dodatkowo zainstalować sterownik.

Z resztą, jak baza troszkę urośnie z czasem, to i tak Acces zacznie dostawać takiej czkawki, że będziesz musiał wiać na SQL,
innej drogi po prostu nie ma, więc lepiej o tym myśleć zawczasu.

Ciekawe, cóż to za tajemnicza aplikacja, która potrafi gadać z Accesem przez sieć (co jest mocnym nieporozumieniem,
Acces przez sieć to raczej proteza a nie pełnowartościowe rozwiązanie), a nie potrafi gadać z serwerami SQL,
i w dodatku nie można jej tego nauczyć.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Re: Tabele Accessa na Linuxie

Post autor: Miromat »

jacekalex, nie zrozumieliśmy się.To nie jest problem techniczny, że nie mogę migrować z Accessa do SQL. To jest jak najbardziej wykonalne. Powód jest powiedziałbym natury organizacyjnej.
Nie ma żadnej tajemniczej aplikacji, która potrafi gadać z Accesem przez sieć. Jest to po prostu właściwość Accessa, który po podziale na front-end i back-end może pracować sieciowo. Ale jak widać działa to, gdy serwer plików jest na Windowsie, a na Linuxie są problemy.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4679
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Tabele Accessa na Linuxie

Post autor: jacekalex »

Acces z SQLami gada bez kłopotu, być może by trzeba pokombinować z konfiguracją, w przypadku SQL wszystkie bazy zawsze są na serwerze.
W każdym razie nie ma takiej bazy, która może działać tylko na Accesie anie pójdzie na SQLu, problem może być z komputerami mobilnymi i zdalnym dostępem, tam trzeba by wdrożyć szyfrowaną komunikację przez internet.

Bo jak rozumiem, w tej chwili na każdym kompie jest kawałek bazy z lokalnie wygenerowanymi danymi, a całość w back-end na serwerze, i Acces to po prostu synchronizuje, albo łączy dane z obu lokalizacji.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Re: Tabele Accessa na Linuxie

Post autor: Miromat »

Na serwerze plików jest część Accessa z tabelami (back-end) tzn. dane, a na kompach użytkowników cześć wykonawcza Accessa (front-end) tzn. makra, kwerendy, formularze, raporty itp. Każdy użytkownik pracuje na tym samym pliku z tabelami, który jest jeden dla wszystkich.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4679
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: Tabele Accessa na Linuxie

Post autor: jacekalex »

Czyli dane są na serwerze, jak w każdym SQLu, a program pobierający ma makra, kwerendy i raporty robić.
Wszystko się zgadza, przy czym w serwerach SQL masz jeszcze widoki, triggery i procedury, które mogą znacznie bardziej ułatwić pracę, niż kwerendy z Accesa.

Przykłady:
procedury:
http://www.sql-kursy.pl/ms-sql-kurs-cre ... dur-6.html
https://pl.wikibooks.org/wiki/Procedury ... PostgreSQL
http://www.sql-kursy.pl/mysql-tworzenie ... edure.html

widoki:
http://www.sql-kursy.pl/mysql-tworzenie ... -view.html
http://www.sql-kursy.pl/ms-sql-kurs-cre ... hen-4.html

triggery:
http://edu.pjwstk.edu.pl/wyklady/wspbd/ ... main10.htm
http://www.mysqltutorial.org/mysql-triggers.aspx
https://msdn.microsoft.com/pl-pl/librar ... .110).aspx
https://pl.wikibooks.org/wiki/Procedury ... Wyzwalacze

Reasumując, Acces może robić te same funkcje na własnych bazach i na bazach SQL, jego głównym zadaniem jest funkcja klienta MS SQL-Serwer, a nie własne pliki mdb.
Piasek zawsze można kopać łyżką albo koparką, tak mniej więcej wygląda porównanie Accesa i dowolnego serwera SQL.

Ja na twoim miejscu od razu bym postawił serwer SQL, a MS Office i Libreoffice do niego tylko podłączył.
Opisane przez Ciebie funkcje nie różnią się niczym od wszystkiego, co w życiu widziałem, ale od Ciebie się dowiedziałem,
że Acces z mdb ma większe możliwości od Accesa podłączonego do serwera SQL.
Zawiadom o tym koniecznie Microsoft, bo z dokumentacji MS wynika, że tam także o tym nie wiedzą. :clap:

Pozdro
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Miromat
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 04 sie 2016, 16:01
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86

Re: Tabele Accessa na Linuxie

Post autor: Miromat »

Problem rozwiązany, wielodostęp działa.
W pliku smb.conf trzeba dodać dodatkową sekcję:

[acctdata]
oplocks = False
level2 oplocks = False

Może się komuś przyda.
ODPOWIEDZ

Wróć do „Biuro”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości