Możliwość wykorzystania bazy danych MS Access w programach komercyjnych

0

Czy ktoś może orientuje się czy Microsoft ma coś przeciwko (czy może wręcz przeciwnie), aby stosować bazę danych MS Access w programach komercyjnych. Program Płatnik domyślnie oparty jest o bazę Access'ową, ale nie wiadomo czy Prokom, a później Asseco musiało wykupywać u nich jakąś licencję, albo podpisywać stosowne umowy. Macie jakiś pogląd na ten temat ?

0

Przy takiej ilości wolnych/darmowych baz danych, pchać się w coś, co jest problematyczne w sieci, kompatybilne tylko ze sobą itd?
Rzekłeś o płatniku. Próbowałeś choć raz w życiu konwersji na MS-SQL ?

Jakbym już musiał się uzależniać od konkretnie MS, to w linii embeded-MSSQL -> Express SQL -> płatne

*) właściwa nazwa marketingowa embedded mi uleciała z głowy

0

Chciałem napisać program do budżetu domowego. Tego typu programy bazują na prostych bazach danych.

MS Access ma następujące zalety:

  • jest popularny,
  • znaki kodowane w Unicode,
  • nie wymaga instalowania serwera bazodanowego i jego konfigurowania w sieci,
  • zapewnia pełne wsparcie dla SQL i typów danych,
  • daje możliwość dostępu do bazy danych wielu procesom (operacja zapisu do bazy danych blokuje plik),
  • od biedy umożliwia pracę na wielu stanowiskach po udostępnieniu pliku w sieci,
  • cała baza danych mieści się w jednym pliku, który można swobodnie kopiować z miejsca na miejsce bez ryzyka uszkodzenia danych.

Zna ktoś bazę danych która daje podobne możliwości ? Chętnie przemyślę wasze sugestie.

0

Jeśli chodzi o SQLite to muszę powiedzieć, że ta baza ma pewien problem, który mnie od niej odpycha - nie można wykonać polecenia modyfikacji kolumny (ALTER TABLE MODIFY). Aby zmodyfikować kolumnę np. rozszerzyć pole tekstowe należy zmienić nazwę tabeli, utworzyć nową tabelę z prawidłową definicją kolumny i skopiować dane pomiędzy nimi. Kiepskie to, a wcześniej, czy później ten problem się pojawi.

1

A ja polecę https://firebirdsql.org/ jest to serwer który ma również wersję Embedded. Zatem mając gotową aplikację możesz bez problemu łączyć się do pełnoprawnego serwera (kwestia zmiany w parametrach programu lokalizacji bazy) oraz do wersji embedded która nie wymaga instalacji, a tylko wrzucenia odpowiednich plików do katalogu programu.

1

Nie trzeba mieć licencji, tyle że na komputerze na którym będzie uruchamiany program musi być zainstalowany odpowiedni sterownik by móc operować na tej bazie danych w przypadku braku accessa z offica. I jak na komputerze jest office 32 bitowy bez accessa to nie zainstalujemy 64 bitowego sterownika, ogólnie jest mnóstwo problemów i zabawy z tym. Już nie wspominając że dialekt sql obsługiwany przez bazy *.mdb jest trochę inny od standardowego.

Zdecydowanie mniej problematyczny i bardziej zgodny ze standardem jest SQLite, którego również polecam.

1

Z tego co kojarzę, to w SQLite nie ma typu varchar - jest tylko text. Zatem nie musisz rozszerzać kolumny tekstowej, cokolwiek tam wpiszesz, to zostanie zapisane.

https://www.sqlite.org/datatype3.html

1

Zna ktoś bazę danych która daje podobne możliwości ? Chętnie przemyślę wasze sugestie.

oprócz instalacji silnika bazy, która jest bardzo prosta, to Firebird spełnia niemal wszystkie Twoje wymagania
a jeśli zrezygnujesz z pracy w sieci, to Embedded Firebird nie wymaga żadnej instalacji

0

Nie wiem co się ostatnio dzieje, ale kolejne poprawki do Office Win i coraz gorzej to działa. Ostatnio jak ulepszyli Accessa to przestały działać niektóre typy sqli z poziomu VBA ;-D i nie tylko... chyba :D

https://www.google.com/amp/s/accessexperts.com/blog/2019/11/13/critical-office-update-breaks-access-query-is-corrupt/amp/

Mam niestety pod opieką jedną taką bazę Accessową i musiałem sqle na kursory przepisywać i to w trybie plinym ;->

Sqlite jakoś stabilniejsze jest :D choć oba w dużych zastosowaniach są takie sobie ;)

3
czarasd napisał(a):

Chciałem napisać program do budżetu domowego. Tego typu programy bazują na prostych bazach danych.

MS Access ma następujące zalety:

MS Access nie ma żadnych zalet w porównaniu do innych rozwiązań typu embedded.

  • jest popularny,

Był popularny.

  • znaki kodowane w Unicode,

A która baza tego nie ma?

  • nie wymaga instalowania serwera bazodanowego i jego konfigurowania w sieci,

Nieprawda; żeby to działało poprawnie, to musi być dostępny JetEngine czyli konieczna jest instalacja MDAC.
Niektóre Windowsy to mają, inne nie - lepiej zawsze instalować.
Konfiguracja sieciowa jest bardziej upierdliwa, jakieś udziały dyskowe, uprawnienia itd.
A poza tym, Access po sieci działa gorzej niż źle.

  • zapewnia pełne wsparcie dla SQL i typów danych,\

Ty naprawdę nie wiesz o czym mówisz...
Zapewnia, ale ze swoim własnym standardem.
A ten jego dialekt SQL to już w ogóle jest mało śmieszny...

  • daje możliwość dostępu do bazy danych wielu procesom (operacja zapisu do bazy danych blokuje plik),

DBFy też na to pozwalają.
I wszystkie inne silniki bazodanowe.

  • od biedy umożliwia pracę na wielu stanowiskach po udostępnieniu pliku w sieci,

Od biedy...

  • cała baza danych mieści się w jednym pliku, który można swobodnie kopiować z miejsca na miejsce bez ryzyka uszkodzenia danych.

Tak jak i inne bazy danych, np. Firebird albo SQLite.

Zna ktoś bazę danych która daje podobne możliwości ? Chętnie przemyślę wasze sugestie.

Firebird.
PostgreSQL
MS SQL EXpress/LocalDB
Mogę tak cały dzień...

Ale prawda jest taka, że dziś Access to fatalne rozwiązanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1