Jak vnorit a vyhledavat soubory.   otázka

VB6/VBA

Zdravim všecky, omlouvám se za nadpis Jak vnorit... ale nevím jak líp to popsat. Vytvářím apliakci (databázi) kterou bude využívat více PC najednou. Vzhledem k tomu že nechci použít SQL server a podobně, vymyslel jsem jakousi náhražku. Chci vytvořit soubor př.: "databaze.dat" do kterého chci vkládat položky (soubory) př.:

"Databáze.dat\Položka1\položka1.xls"

"Databáze.dat\Položka1\položka1.doc"

"Databáze.dat\Položka2\položka2.xls"

v kořenovém adresáři budu mít např. texťák.txt ve kterém bude-co vše je uloženo v "databáze.dat" a v případě potřeby položku s databáze vytáhne .Nevím zda to bude možné. Proto jsem přemýšlel, že "databáze.dat" bude ve skutečnosti "databáze.zip". Nevím ale když bude mít databáze 1Gb jestli nebude trvat dlouho přidávání položek. To by znamenalo že jine pc do databáze nebude mít přístup.

Nebo jestli by nešlo aby "databáze.dat" se chovala jako složka. Nemuselo by se nic komprimovat. Prosím pomozte, děkuji za všechny odpovědi.

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

Z jakého důvodu nechcete použít databázi? Protože s tím neumíte?

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

Dobrý den, doporučoval bych použití nějaké databáze pokud nemáte opravdu závažný důvod proč tak neučinit. Obvzláště pokud předpokládáte že se databáze rozroste.

Kromě toho že budete muset ošetřovat případy vícenásobného přístupu uživatelů, připravíte se o všechen komfort co databáze poskytují.

Namátkou se jedná o řízení přístupů, zabezpečení, relace, indexy a obvzláště jazyk SQL. Když budete chtít zjistit kolik je v databázi záznamů vyhovujících určité podmínce, budete si to muset složitě psát sám. V databázi stačí příkaz na jeden řádek.

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

Práce s 1GB ZIP archivem opravdu bude pomalá a přidání souboru dovnitř může trvat klidně i minutu.

Jinak aby se několik běžících instancí aplikace přetahovalo o jeden sdílený soubor na síti, to je naprostá pitomost, v praxi to nebude použitelné.

Proč nechcete použít relační databázi, která je přesně na tohle dělaná? Ona totiž řeší vše, co potřebujete. Data máte v jednom souboru, nemusíte se starat o současný přístup více uživatelů, a díky tomu, že databázové servery jsou optimalizované na výkon, bude to rozhodně rychlejší než nějaké vaše vlastní řešení.

Nesnažíte se vyhnout použití SQL Serveru jenom proto, že se vám nechce učit SQL?

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

Doporučím Vám totéž co ostatní (použijte některou z mnoha relačních databází, řada je zdarma i pro komerční použití). Čas, který ušetříte psaním vlastního řešení využijete na naučení se základům práce s databází. A protože databáze se zhusta používají v komerčním provozu, získáte zase kousek kvalifikace navíc ;-)

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

No jde o to že v xls bude uprava snazsi. Jedna položka bude obsahovat cca 20 podpoložek a z toho každá podpoložka svoje obrázky a spoustu informací. (např.text dlouhý na 2stránky) Jde o to že v databázi je strašně moc informací keteré se při tisku musí zobrazit ve správném formátu:

Při tisku bych stejně musel vše exportovat do xls a po té vytisknout.

No prostě trvalo by měsíce něco tak rozsáhlého vytvořit, ale s řešením, které jsem uváděl by mi trvalo tak týden.

No uvidíme, přivítám jakoukoliv další odpověď,.. počítače na kterých to poběží jsou i vzdáleně ovládané plochy, nebudu však mít přístup někde nainstalovat nějaký serever SQL. Prostě chci aby když aplikaci hodim do serveru, aby fungovala.

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

Však do SQL databáze můžete ukládat jen ty soubory - sloupec typu VARBINARY(MAX) anebo použít FILESTREAM, ale to je trochu složitější.

I tak to bude daleko lépe řešit problém současného přístupu a bude to rychlejší než když si to napíšete sám.

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

Jo já znám klady SQL, ale povídal jsem nemám možnost administraci serveru. Ptal jsem se jak vytvořit nějaký kontainer, do kterého budu moc přistupovat (přidávání či odebírání souboru) proto jsem zmiňoval například archiv zip. Nemusel by to zrovna být archiv zip protože nebudu potřebovat kompresi.

Do "kontaineru" budu potřebovat importovat soubory Excel.xls (které budou obsahovat delší texty s obrázky) Nechci otevřít slozku a s aplikací kde bude stovka podsouborů do kterých bude mít přístup každý. Nyní jsem zkoušel přidávat do stomegového "kontainer.zip" 5 megovou položku "soubor.xls",a byla to cca 1 vteřina. Samozřejmně nezkoušel jsem přidávat do vzdáleného pc kde bude přenosová rychlost trochu jiná. Proto jsem se zde zeptal, zda-li neznáte způsob (který určitě existuje) jak vkládat "soubor" do "souboru" aby to bylo co nejefiktivnější. děkuji za odpovědi směřované konkrétně k mému dotazu.

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

Abych to upřesnil, stačilo by mi kdybych vytvořil složku do které nebude mít nikdo přístup, pouze aplikace. nebo kdyby se ta složka chovala jako soubor... ale to chci asi moc. A už asi vybočuji z dané diskuze která se věnuje visual basicu, njn. Googlil jsem ale nic jsem zatim nenasel. tak zatim nashle

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