Stránka 1 z 2

MySQL - připojení na server

Napsal: 12 bře 2015 22:34
od Seky92
Zdravím,
potřeboval bych poradit s připojením k serveru MySQL (který běží na jiném pc v domácí síti).
Připojuji se v MySQL Workbench, ale po zadání správné IP počítače, defaultního portu 3306, username i hesla se mi na server nedaří připojit.
Jsem v tom začátečník, tak mě vůbec nenapadá, čím by to mohlo být.. nevíte někdo prosím v čem může být chyba?
Děkuji za jakékoliv rady a připomínky.

Re: MySQL - připojení na server

Napsal: 23 bře 2015 10:44
od CZechBoY
Zdravím,
firewall vypnutej/povolenej?
Máš na tom MySQL serveru nastavený poslouchání z jiný než lokální IP?

Re: MySQL - připojení na server

Napsal: 23 bře 2015 11:12
od petr22
Idealni je postupovat podle navodu.

Pripojeni pres sit je na MySQL serveru potreba povolit, ve vychozim stavu je povolena jen adresa 127.0.0.1.

Příspěvek není k dispozici

Napsal: 23 bře 2015 14:19
od IDVert3X
[smazáno uživatelem]

Re: MySQL - připojení na server

Napsal: 24 bře 2015 00:00
od CZechBoY
Nechápu proč někdo reaguje stejnou odpovědí jako já pár hodin po mé odpovědi, když otázka je položená už téměř 2 týdny. :idea:

Re: MySQL - připojení na server

Napsal: 06 kvě 2015 14:46
od Seky92
Děkuji za rady :-)
Nicméně bych nyní potřeboval pomoct se syntaxí procedury v MySQL..nejsem si jistý jak je to s těmi zpětnými apostrofy, zavináčema, příp. co bez apostrofů..dříve jsem dělal v SQL Management Studiu a tam to bylo s deklarací parametrů nebo proměnných jasné. Teď se v tom trošku ztrácím..poradíte někdo prosím??

MySQL mi hlásí chybu: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin
insert into `uzivatel`(`jmeno`,`prijmeni`,`rc`,`ulice`,`cp`,`psc`,`me' at line 20

ale je mně jasné že je to mnohem více chyb..

Kód: Vybrat vše

create procedure `vloz_uzivatele` (
`jmeno1` varchar(20),
`prijmeni1` varchar(30),
`rc1` varchar(10),
`ulice1` varchar(25),
`cp1` varchar(10),
`psc1` char(5),
`mesto1` varchar(30),
`stat1` varchar(20),
`opravneni1` int,
`telefon1` char(9),
`email1` varchar(45)
)
begin

set @id_uziv1 = (
  select 1 `id_uziv` from `uzivatel`
  where `prijmeni` = `prijmeni1`
  and `rc` = `rc1`)

if (@id_uziv is null)
  begin
    insert into `uzivatel`(`jmeno`,`prijmeni`,`rc`,`ulice`,`cp`,`psc`,`mesto`,`stat`,`id_opr`)
    values
(`jmeno1`,`prijmeni1`,`rc1`,`ulice1`,`cp1`,`psc1`,`mesto1`,`stat1`,`opravneni1`);
   
    set @id_uziv = @@identity
    insert into `kontakt_uzivatele`(`telefon`,`email`,`rc`)
    values (`telefon1`,`email1`,@id_uziv)
  end
else
  print ('Uživatel s ID: ' +convert(varchar(10),@id_uziv)+ ' se v databázi již

vyskytuje. ' )
end
print ('ID nového uživatele je: ' +convert(varchar(10),@id_uziv))

Re: MySQL - připojení na server

Napsal: 06 kvě 2015 16:25
od CZechBoY
Chyba je ve špatný syntaxi IFu. MySQL není Python ;) :D
https://dev.mysql.com/doc/refman/5.5/en ... unction_if

Re: MySQL - připojení na server

Napsal: 06 kvě 2015 17:06
od Seky92
Dík moc!
Ovšem stále mi to hlásí chybu kterou absolutně nechápu..
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 19
cože je řádek " and `rc` = `rc1`);"
Nevíte čím to může být?

Kód: Vybrat vše

create procedure `vloz_uzivatele` (
`jmeno1` varchar(20),
`prijmeni1` varchar(30),
`rc1` varchar(10),
`ulice1` varchar(25),
`cp1` varchar(10),
`psc1` char(5),
`mesto1` varchar(30),
`stat1` varchar(20),
`opravneni1` int,
`telefon1` char(9),
`email1` varchar(45)
)
begin

set @id_uziv = (
  select 1 `id_uziv` from `uzivatel`
  where `prijmeni` = `prijmeni1`
  and `rc` = `rc1`);

if (@id_uziv is null) then
  insert into `uzivatel`(`jmeno`,`prijmeni`,`rc`,`ulice`,`cp`,`psc`,`mesto`,`stat`,`id_opr`)
  values (`jmeno1`,`prijmeni1`,`rc1`,`ulice1`,`cp1`,`psc1`,`mesto1`,`stat1`,`opravneni1`);
  set @id_uziv = @@identity;
  insert into `kontakt_uzivatele`(`telefon`,`email`,`rc`)
  values (`telefon1`,`email1`,@id_uziv);
else
  print ('Uživatel s ID: ' +convert(varchar(10),@id_uziv)+ ' se v databázi již vyskytuje. ' );
end if;
  print ('ID nového uživatele je: ' +convert(varchar(10),@id_uziv));
end;

Příspěvek není k dispozici

Napsal: 06 kvě 2015 17:18
od IDVert3X
[smazáno uživatelem]

Re: MySQL - připojení na server

Napsal: 06 kvě 2015 17:34
od Seky92
Prosim? Na návrh tabulek sem taky použil "slavný" phpMyAdmin. Tady máš skript pro vytvoření těch dvou tabulek, pokud se v tom nemůžeš vyznat.

Kód: Vybrat vše

CREATE TABLE IF NOT EXISTS `opravneni` (
  `id_opr` int NOT NULL AUTO_INCREMENT,
  `druh` varchar(20) NOT NULL,
  `popis` varchar(100),
  PRIMARY KEY (`id_opr`)
);
CREATE TABLE IF NOT EXISTS `uzivatel` (
  `id_uziv` int NOT NULL AUTO_INCREMENT,
  `id_opr` int NOT NULL,
  `jmeno` varchar(20) NOT NULL,
  `prijmeni` varchar(30) NOT NULL,
  `rc` char(10) NOT NULL, 
  `ulice` varchar(25) NOT NULL,
  `cp` varchar(10) NOT NULL,
  `psc` varchar(5) NOT NULL,
  `mesto` varchar(30) NOT NULL,
  `stat` varchar(20) NOT NULL,
  PRIMARY KEY (`id_uziv`),
  FOREIGN KEY (`id_opr`) REFERENCES `opravneni`(`id_opr`)
);


Tady ovšem nejde o návrh tabulek, ale děkuju ti za tvůj názor. ;) Jde tu o pro mě nesmyslnou CHYBU V SYNTAXI procedury v MySQL. Jsem přesvědčen že logicky je procedura správně, protože v MS SQL Management Studiu mi funguje.

Příspěvek není k dispozici

Napsal: 06 kvě 2015 18:14
od IDVert3X
[smazáno uživatelem]

Re: MySQL - připojení na server

Napsal: 06 kvě 2015 18:17
od omilis
Nemělo by tam být := místo = ? Nejsem si jistý, s MySQL moc nepracuju.