IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Wendys
Člen
Avatar
Wendys:18.3.2021 17:42

Zdravím,
mám desktop aplikaci s lokální databází s jednoduchou tabulkou. Hlavní myšlenka je používat databázi dodanou s aplikací, aby se nemusela připojovat na žádný server. Ve visual studiu mi vše funguje, ale problém je, když chci aplikaci spustit na jiném pc, tak mi hlásí chybu sql serveru, že se nemůže připojit do databáse. Ale v adresáři Debug soubor Database.mdf je a tak jsem si myslel, že se aplikace automaticky připojí. Asi dělám něco blbě a nevím co. Tu lokální dotabázi jsem udělal podle dokumentace: https://docs.microsoft.com/…g-a-designer?…
Budu rád, jestli mě někdo navede správným směrem, protože to nechápu, když tam ta databáze je, tak proč to nejde. Děkuji.

Zkusil jsem:

Chci docílit:

Odpovědět
18.3.2021 17:42
Wokna jsou vopruz!
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Wendys
Tadeáš Burda :18.3.2021 17:54

Problem bude asi connection string, ak sa db vola stale rovnako...Skus si to vygooglit a pouzit relativnu cestu...Ak appka hlada db na konkretnej adrese == tej co si pouzil pri vyvoji, tak ak presunes appku aj db tak uz je neplatna...Mozes este pripojeny db vlozyt do try/ catch bolku, odschitit vynimku a kuknut sa na chybu mozno tam bude kde tu db hlada(adresa)...Ale hadam ze to bude ten string

 
Nahoru Odpovědět
18.3.2021 17:54
Avatar
Wendys
Člen
Avatar
Odpovídá na Tadeáš Burda
Wendys:18.3.2021 18:58

Connection string bude asi ok: Data Source=(Local­DB)\MSSQLLocal­DB;AttachDbFi­lename=|DataDi­rectory|\Data­base1.mdf;Inte­grated Security=True
Ale ta vyjímka try je dobrý nápad, vyzkouším to co bude hlásit. Děkuji za reakci.

Nahoru Odpovědět
18.3.2021 18:58
Wokna jsou vopruz!
Avatar
Ghst
Člen
Avatar
Ghst:18.3.2021 20:15

Jak distribuuješ aplikaci? Je na daném PC nainstalovaný SQL Server Express LocalDB, bez ní ti to nepůjde. Stačí publikovat, a v požadavcích projektu zaškrtnout příslušnou verzi.

 
Nahoru Odpovědět
18.3.2021 20:15
Avatar
Wendys
Člen
Avatar
Odpovídá na Ghst
Wendys:19.3.2021 8:54

Bingo! To bude asi ono. Distribuji to do souboru jako z CD a je pravda, že jsem tam jenom nastavoval verzi net.Frameworku, ale SQL ne. Sice by na tom PC měl být SQL server, ale asi to bude jiná verze. Ale ještě se zeptám, kde zjistím, jakou verzi potřebuji?

Nahoru Odpovědět
19.3.2021 8:54
Wokna jsou vopruz!
Avatar
Ghst
Člen
Avatar
Ghst:21.3.2021 20:06

JE rozdíl mezi klasickým SQL Server Express a SQL Server Express LocalDB. Nemyslím si, že je potřeba nějaká konkrétní verze a mělo by to fungovat i na starších (na nověších rozhodně ano).

Když použiješ stejnou verzi, jako vvíjíš, budeš mít jistotu ;)
Zkus dle tohoto návodu Connect to SQL Server Express LocalDB

Editováno 21.3.2021 20:08
 
Nahoru Odpovědět
21.3.2021 20:06
Avatar
Wendys
Člen
Avatar
Odpovídá na Ghst
Wendys:8.6.2021 10:07

Ještě mám další problém, a to, že pokud naistaluji aplikaci přes klasický instalátor a zvolím C: tak mi to neumožňuje zapisovat do databáze, protože je pouze ke čtení, ale ve VS je všude nastaveno i zápis. Pouze pokud si zvolím při instalaci jiný disk, tak to funguje. Když se podívám po instalaci na C: na vlastnosti-zabezpečení databáze je tam pouze čtení a pokud to změním, pak se po spuštění aplikace databáze nepřipojí. Nevíte proč to teda nainstaluje pouze na C: databázi bez zápisu?

Nahoru Odpovědět
8.6.2021 10:07
Wokna jsou vopruz!
Avatar
Ghst
Člen
Avatar
Odpovídá na Wendys
Ghst:9.6.2021 16:06

S tímto jsem se nesetkal, ale ale domnívám se, že aplikaci (nebo alespon databázi *.mdf a *.ldf soubory) máš v nějaké složce s ochranou proti zápisu. V tom případě je potřeba spouštět jako admin.

Kam to instaluje instalátor na disku C, jak vypadá cesta, která nefunguje?

Nějaké chyby při spouštění to nehází?

 
Nahoru Odpovědět
9.6.2021 16:06
Avatar
JerryM
Člen
Avatar
JerryM:14.6.2021 16:23

to asi instaluješ pod Windows 10 co ? .. njn .. to je zabezpečení Windows 10, odstranění ReadOnly atributu budeš muset udělat dodatečně na celý adresář kde máš tu databázi .. nebo tvuj celý program ...

 
Nahoru Odpovědět
14.6.2021 16:23
Avatar
Wendys
Člen
Avatar
Odpovídá na JerryM
Wendys:15.6.2021 14:22

Jo je to W10. Ano, funguje pouze pokud dodatečně povolím zápis v adresáři nainstalované aplikace souborů .mdf .idf☹️. A to opravdu nejde udělat, aby ten instalátor ty atributy rovnou změnil na zápis?

Nahoru Odpovědět
15.6.2021 14:22
Wokna jsou vopruz!
Avatar
JerryM
Člen
Avatar
JerryM:15.6.2021 14:29

pokud máš oprávnění Admina tak jo .. ale jinak to takhle W10 maj ... ve W7 to tak nebylo ... W10 sou přísnější
ale odstranic R/O atribut se dá i programově
https://stackoverflow.com/…-from-a-file

 
Nahoru Odpovědět
15.6.2021 14:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.