nahrada Access -> v cem vyvijet male databanky?   otázka

Offtopic, Databáze

Dobry den,

uz jsem zde cetl ze nikdo z vas nedoporucujie vyvoj aplikaci ve VBA. Jake je teda idealni reseni na MALE (ca.3 - 30 uzivatelu) a STREDNI databankove aplikace(offline) site na miru pro Windows(XP, Vista, 7) prostredi? Ve vetsine firem je stale Office 2003 max tak 2007 skoro vzdy je pozadovana nejaka ta Databenka s exporten/importem do Wordu/Excelu a aby se nekupoval zadny dalsi Software. Je mozne Visual Studio 2010 Express + Express server uzivat komercne? Je Share Point nastupcem Access? a je vhodnejsi na male databankove reseni? Osobne mi pripada i jednoducha DB v .net prostredi mnohem komplexnejsi, slozitejsi a casove narocnejsi na vyvoj nez u stareho VBA?

Dekuji za srovnani a doporuceni co se ucit-> vb.net/c# nebo neco jineho?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Express verze čehokoliv od MS je zdarma i pro komerční použití.

SharePoint je něco uplně jiného než Access.

Záleží co chcete konkrétně dělat, v Accessu a VBA se nedají dělat aplikace klient/server, tedy nepoužitelné pokud má být centrální databáze a několik klientů.

VBA se používá i dnes, nevím kde jste četl takovou hovadinu, že se to nedoporučuje.

Z .NET jazyků doporučuji VB.NET, C# je neohrabaný, příliš restriktivní a chybí mu spousta užitečných věcí co jsou ve VB.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

dekuji za odpoved.

To ze by se nemelo ucit a vyvijet ve VBA jsem cetl zde na foru.

Ano potrebuji vyvijet vzdy klient/server (uvnitr firemni site). Pro male firmy je dulezite aby nemusely kupovat zadny dodatecny software a aby vse bylo MAX jednoduche.

Proc se tedy snazi Microsoft protlacovat C#? Kdyz ma byt vb.net lepsi?(z pohledu zacatecnika)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V tom případě použijte Visual Basic 2010 Express a SQL Server 2008 R2 Express. Proč se ho snaží protlačovat nevím, bude to podobné jako jeho snaha protlačovat komerční propadák Windows Phone nebo Kinect.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co se týká vyloženě malých databázových aplikací tak tady na vbnet.cz je na úvodní stránce v rubrice "Jinde píší" link na zajímavý článek o SQL Server Compact Edition.

http://www.aspnet.cz/articles/332-sql-se...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Compact Edition se hodí pro mobilní zařízení a málo náročné aplikace. Má omezenou velikost databáze, počet současných připojení a ještě pár dalších drobností. Jestli ho zvolit nebo ne záleží na požadavcích daného projektu.

Jeho obrovská výhoda je, že odpadají veškeré starosti s nasazením do provozu.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

I v Accessu jde jednoduše udělat několik klientů a centrální databáze ( mdb , nebo i MS SQL ). Pro menší projekty je to rychlé řešení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A to konkrétně jak? Snad ne použít Access jako UI a k samotným datům se připojovat pomocí VBA přes ADO.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Reagoval jsem na vaší poznámku "v Accessu se nedají dělat aplikace ... pokud má být centrální databáze a několik klientů.

To není pravda.

Při použití klienta mdb/mde a společné sdílené databáze mdb lze Access použít i pro práci v týmu nad jednou databází ( když je to dobře navrženo může to fungovat dobře ). Je to hlavně rychlé řešení ( a nemusí být nutné programovat ).

Lze také použít datové projekty ADP. Centrální databáze je pak SQL server a práce s ním je díky nástrojům Accessu jednoduchá a především rychlá. Kombinace Access a SQL serveru je dobrou variantou pro vývoj např. prototypových aplikací.

Ale základní otázka zněla čím nahradit Access. Záleží však co má již v Accessu uděláno a co ve firmě využívají za databáze. V případě, že již bylo dosaženo limitů Accessu je potřeba se zamyslet zda jsou reálné možnosti pro kompletní předělání do "vyspělejší" platformy ( tedy vývoj nové aplikace).

Uživatel píše o offline řešení. Dále se zmiňuje o VBA atd. Jedná se tedy spíše o práci s dokumenty Office - včetně mdb, u uživatelů( kde se Visual Basic for Applications využívá ). Pro oběh a sdílení dokumentů lze využít např.SharePoint Foundation 2010 ( je součástí Win serveru - tedy zdarma ).

Databáze obecně ( relačně svázaná data uložená v Accessu ,SQL serveru ..) lze zpřístupnit klientům pomocí různých platforem- - např. Access 2010, ASP.NET VB.NET .... a také i pomocí produktu SharePoint ( pro speciální databázové aplikace se moc nehodí - je určen spíše pro sdílení dokumentů, oběh atd. ). Klient Accessu může být distribuován i uživatelům bez zakoupeného a instalovaného programu Access ( existuje Runtime verze).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neodpověděl jste na mojí otázku: Jak přistupovat v Accessu k datům, uloženým někde centrálně? Dále jak řešit například to, když více uživatelů přistoupí k jednomu záznamu?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Zeptám se já.

jaké projekty jste dělal v Accessu? Popište vaše dosavadní zkušenosti s Accessem. Rád pak odpovím na vaše otázky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Rozhodně žádné klient/server projekty. Access se hodí na poměrně jednoduché databáze jako například vzorový Northwind Traders.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Nejsem zastáncem chtít po Accessu na co není určen. Jen mi zaráží jak sebevědomě radíte v otázce tohoto SW a myslím, že jste možná pořádně neprošel ani tu vzorovou databázi.

Pro přístup z jedné databáze Access ( může být užita jako klient- kde jsou např. uložené formuláře, VBA moduly, dočasná data ) do jiné databáze ( kde jsou data sdílená ) lze využít funkci Načíst externí data ( vytvořit propojené tabulky ). Při sdílení dat v síti je potřeba optimalizovat přístup k datům (aby se příliš nesnížil výkon ). Access také řeší samozřejmě zámky nad daty (nebudu popisovat jak -bylo by to delší a také záleží na verzi a na nastavení).

V případě vyšších nároků je možné data pak přesunout do MS SQL a také např. přejít na datové projekty aplikace Access ( propojení OLE DB ). V databázi Access jsou pak řešeny formuláře, sestavy, případně makra a VBA moduly. V MS SQL jsou uložené tabulky, procedury, uživatelské funkce, pohledy, schémata.

Myslím, že "od boku" radit co v Accessu jde a nejde, bez hlubších znalostí, není zrovna odpovědné vůči tazatelům.

Jde o to na co má tazatel kapacity a co vlastně po databázové aplikaci vyžaduje. Jak a čím je možné Access "nahradit" jsem nastínil.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Dobrý den, chci se zeptat zda nemáte zkušenosti jak funguje MS Access s přístupem od více uživatelů. Známý chce projekt takto založený a musím se přiznat, že já si nejsem jist, zda by tato chodilo.

Jedná se o menší db s přístupem do max 5 lidí. Db by byla nasdílená někde na internetu(cloud, server hosting).

Máte s podobným přístupem zkušenosti?

Já osobně bych šel raději cestou internetové aplikace stojící na MySQL + PHP.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Souhlasím s anonymem přede mnou. Mimochodem přes ADO lze řešit i přístup do DB ORACLE a Access použít jako "ksicht" a ORACLE si řeší sám přístupy do DB. Pomocí linku jsem schopen nalinkovat i txt soubory jako tabulky, které jsou na sdíleném adresáři a ke kterým mohou přistupvat další. Možností je spousta. Osobně mám rád ORACLE ale pokud bych řešil malou firemní DB s klienty do 50 užíků nebál bych se Accessu. Několik jsem jich už vytvořil. Pomocí refernces(nevím jak je to v češtině) se dá použít i spousta prvků ActiveX a následně se z toho dá vytvořit celkem jednoduše aplikace využívající dalších rozšířených možností. Mimochodem na naučení se ralačních DB je Access celkem jednoduché a intuitivní prostředí. Já bych vlastně vytknul VBA pouze to, že umožňuje celkem rychle a jednoduše použít konstruktor, ale nenutí vás použít destruktor(to ovšem je u více programovacích jazyků) což může mít za následek, že vytvoření objektu v metodě, neskončí opuštěním metody ale odkaz na haldu zůstane a vy do restartu nejste schopni přiřadit k objektu jiné vlastnosti. Což možná už někdo vyřešil, já skončil se složitějším programovíním ve VBA před 10 roky:-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

"Accessu a VBA se nedají dělat aplikace klient/server."

Výše uvedené tvrzení není pravdivé. V MS Access 2010 je možné vytvořit adp (Access Data Project), který se prostřednictvím OLE DB připojí na SQL Server. Spravoval jsem databázi o velikosti více jak 50GB a více jak 1000 objektech (tables, views, stored procedures, user defined funkcions), na kterou bylo připojeno více jak 200 lidí, kdy používali co by frontend adp. Nebyl s tím žádný problém...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback