Black friday Black friday
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě
Avatar
Petr Kubíček:18.8.2018 15:14

Vyvinul jsem docházkový program pro uživatele v malé kancelářské firmě, ovšem databázi jsem vytvořil a zprovoznil přes Vertrigo. V aplikaci vše běží jak má, nevím ale, jak tuto aplikaci mohu převést do reálného světa na reálný server.

Zkusil jsem: Ukázka programu

Chci docílit: Tedy aplikace by měla běžet na klientském pc, zatímco databáze na serveru. Jak by vypadal Connection String pro tento model? Kde na serveru by měla být uložená databáze? Co vše je proto potřeba na serveru nastavit (práva), či nainstalovat?"

 
Odpovědět 18.8.2018 15:14
Avatar
Jan Poláček
Redaktor
Avatar
Odpovídá na Petr Kubíček
Jan Poláček:18.8.2018 18:54

Ahoj, no v .NETu nedělám, ale, pokud chápu správně, tak ti vše funguje na jednom PC, kde je spuštěný program, a ten ukládá do databáze MySQL (ta co je ve Vertrigu) na stejném pc, to ti funguje, pokud ano tak:

  1. v programu by měla stačit změna IP adresy DB serveru z localhostu
  2. Pokud je to v LAN, stačí v nastavení mysql povolit spojení z jiného PC (může být nastaveno spojení jen z localhostu) a bude to nejspíše v souboru my.ini
  3. Pokud je to v WAN, tak je potřeba nastavit i modem - port forwarding a v programu by bylo venkovní IP modemu

Není to cesta, jen kam se zaměřit, samozřejmě ještě může něco blokovat firewall, nevím, co je to za server unix/windows.
Klidně se zeptej na podrobnosti, pokud tě něco napadne z mého příspěvku.

Nahoru Odpovědět 18.8.2018 18:54
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Odpovídá na Jan Poláček
Petr Kubíček:18.8.2018 19:22

Přesně tak, díky Vertrigu mám prostě MySql databázi na localhostu. Program celkově už funguje a jde jen o to zprovoznit ho ve firmě.

v .NETu, alespoň v c# se vytváří spojení přes ConnectionString a například pro připojení k Vertrigo serveru vypadá následovně:

MySqlConnection conn;
string Server { get; }
string Db { get; }
string UserID { get; }
string Password { get; }
string ConnectionString { get; }

public Connection()
{
    Server = "localhost";
    Db = "attendance_db";
    UserID = "root";
    Password = "vertrigo";
    ConnectionString = $"SERVER={Server};DATABASE={Db};UID={UserID};PASSWORD={Password}";
}

Mělo by se jednat o Windows Server, To co mě vlastně zajímá, je ConnectionString na takový Windows Server a kam na Server bych měl databázi vůbec uložit. Pravděpodobně vůbec nevím jak to funguje a tak se nevyjadřuji úplně přesně.

Editováno 18.8.2018 19:23
 
Nahoru Odpovědět 18.8.2018 19:22
Avatar
Martin Petrovaj
Překladatel
Avatar
Odpovídá na Petr Kubíček
Martin Petrovaj:18.8.2018 20:02

Nevedel by si vo svojej aplikácii zistiť, kde sa práve nachádza a skombinovať to s relatívnou cestou k databázi? Bohužiaľ momentálne nemám veľmi možnosť zistiť ti niečo podrobnejšie, ale snáď ti to pomôže. Skús sa pozrieť napr. na System.IO.Path alebo nejakú reprezentáciu prostredia v tvojom frameworku.

Nahoru Odpovědět 18.8.2018 20:02
if (this.motto == "") { throw new NotImplementedException(); }
Avatar
Jan Poláček
Redaktor
Avatar
Odpovídá na Petr Kubíček
Jan Poláček:19.8.2018 10:12

Ten string vypadá na první pohled v pohodě, pouze proměnná Server bude mít v sobě IP adresu serveru/modemu místo localhost
Mysql se chová jako služba, takže poslouchá na daném připojení/portu, takže s databází jako souborem vůbec nepracuješ, jen posíláš SQL dotazy

Nahoru Odpovědět 19.8.2018 10:12
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Odpovídá na Jan Poláček
Petr Kubíček:19.8.2018 10:19

Dobře, ale pokud se tedy prostě jedná o nějaký firemní server, tak na něj někam tu databázi přece jen musím uložit ne? Kam?

 
Nahoru Odpovědět 19.8.2018 10:19
Avatar
Jan Poláček
Redaktor
Avatar
Odpovídá na Petr Kubíček
Jan Poláček:19.8.2018 10:23

Ano, musíš tam (na server) nainstalovat taky mysql server jako si to udělal na svém pc přes Vertrigo, ten ti nainstaloval mysql server, kte kterému ses poté připojil přes localhost (127.0.0.1)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 19.8.2018 10:23
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Petr Kubíček:19.8.2018 11:18

Díky za všechny rady, tímto uzavírám vlákno a označuji tvé odpovědi jako řešení.:)

 
Nahoru Odpovědět 19.8.2018 11:18
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 8 zpráv z 8.