Problém s přístupem k databázi MySQL – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s přístupem k databázi MySQL – Java – Fórum – Programujte.comProblém s přístupem k databázi MySQL – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Kit+15
Guru
15. 11. 2015   #1
-
0
-

Pokouším se zprovoznit přístup z Javy do MySQL: 

public static class Test {
    private static final String dbClassName = "com.mysql.jdbc.Driver";

    public static void main(String[] args) throws
        ClassNotFoundException, SQLException
    {
        Class.forName(dbClassName);
    }
}

Při spuštění 

java -ea Test -cp /home/kit/JavaClass:/usr/share/java/mysql.jar

mi to hlásí výjimku 

Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

i přesto, že soubor /usr/share/java/mysql.jar existuje. Tuší někdo, čím by to mohlo být?

Ubuntu 14.04 LTS

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
santa58
~ Anonymní uživatel
31 příspěvků
15. 11. 2015   #2
-
0
-

Ovladač už se načítat nemusí, záleži jaké používáš IDE, já používám netbeans a tam v pravo klikneš na Libraries - add Library - a vyberes MySql JDBC Driver :)

Nahlásit jako SPAM
IP: 2a00:1028:9194:e616:20d7:...–
Kit+15
Guru
15. 11. 2015   #3
-
0
-

#2 santa58
Nemám IDE, nemám tedy na co kliknout...

Jak vidíš v mém původním dotazu, přidal jsem driver do CLASSPATH, což by podle dokumentace mělo být ekvivalentní.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
santa58
~ Anonymní uživatel
31 příspěvků
15. 11. 2015   #4
-
0
-

A můžu se zeptat proč nepoužíváš IDE? Vždyť to práci tak ulehčí(našeptávač, chyby, debug, atd.) a v čem to teda píšeš? v PSPadu?(Jen mně to zajímá)

Nahlásit jako SPAM
IP: 2a00:1028:9194:e616:20d7:...–
Kit+15
Guru
15. 11. 2015   #5
-
0
-

#4 santa58
Používám Vim (neplést s GVim), který má všechny potřebné vlastnosti a je přitom podstatně výkonnější. Navíc ho používám jako jednotný editor úplně na všechno. Funguje i na vzdálených serverech tak, jako kdybych u toho serveru seděl.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dano
~ Anonymní uživatel
101 příspěvků
15. 11. 2015   #6
-
0
-

Neviem preco v definicii classpath je /home/kit/JavaClass: Nekodim v linuxoch, ale malo by to fungovat rovnako na vsetkych OS. Cize za prepinacom -cp by mali byt vymenovane libky, pozadovane pre beh programu. Skusil si to bez toho /home ... : ?

Nahlásit jako SPAM
IP: 95.102.133.–
Kit+15
Guru
15. 11. 2015   #7
-
0
-

#6 Dano
Do adresáře /home/kit/JavaClass se mi ukládají všechny přeložené třídy, tedy soubory s příponou .class. Zkusil jsem to i bez toho, výsledek byl stejný,

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
ondrej39+1
Věrný člen
15. 11. 2015   #8
-
0
-

#1 Kit
Máš stažený konektor sloužící pro přenos dat? Samotná MySQL knihovna nestačí. JDBC konektor je ke stažení tady.

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Kit+15
Guru
15. 11. 2015   #9
-
0
-

#8 ondrej39
To je on. Soubor mysql.jar je jen symlink na mysql-connector-java.jar:

/usr/share/java/mysql.jar -> mysql-connector-java.jar
/usr/share/java/mysql-connector-java.jar -> mysql-connector-java-5.1.28.jar
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dano
~ Anonymní uživatel
101 příspěvků
15. 11. 2015   #10
-
0
-

Predpokladam, ze bez toho simlinku si to tiez skusal.

Nahlásit jako SPAM
IP: 95.102.133.–
ondrej39+1
Věrný člen
15. 11. 2015   #11
-
0
-

#9 Kit
Aha, já myslel, že to je nějaká jiná knihovna MySQL, že to máš přes symlink mě nenapadlo.

V každém případě se ti ta knihovna nelinkuje. Projekt ji nevidí. Symlinky bohužel dělají Javě problémy, dost často to souvisí s oprávněními... Symlink má jiné oprávnění než soubor, který chceš ve skutečnosti linknout. Zkus to tam naprat přímo, přidat přímo přes classpath ten konektor.

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Kit+15
Guru
15. 11. 2015   #12
-
+1
-
Zajímavé

#8 ondrej39
Už mi to běží. Z nějakého důvodu mi to ignorovalo parametr -cp. Možná proto, že jsem ho měl až na konci.

Díky za pošťouchnutí.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dano
~ Anonymní uživatel
101 příspěvků
15. 11. 2015   #13
-
0
-

Mozes skusit este jednu vec a to rozbalit dane jarko a skontrolovat, ci pozadovany driver je v balicku akom ho volas. Resp stiahnut z mvn repa aktualnu verziu.

Nahlásit jako SPAM
IP: 95.102.133.–
ondrej39+1
Věrný člen
15. 11. 2015   #14
-
0
-

#12 Kit
Vidíš, to mě nenapadlo. Je možné, že java ten příkaz interpretovala způsobem přidat cestu až po vybuildění toho souboru, ale potřebovala ho už před.

Javu z command liny nebuildím, tak jsem moc neporadil. Aspoň ti to frčí.  

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Kit+15
Guru
15. 11. 2015   #15
-
+1
-
Zajímavé

#14 ondrej39
Je to přesně ono. Tohle je špatně: 

java -ea Test -cp /home/kit/JavaClass:/usr/share/java/mysql.jar

A tohle je správně: 

java -ea -cp /home/kit/JavaClass:/usr/share/java/mysql.jar Test
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Kit+15
Guru
15. 11. 2015   #16
-
0
-

#11 ondrej39
Na Linuxu problémy se symlinky nejsou - při otevření se chovají, jako by to byly skutečné soubory. Je to ošetřeno na úrovni operačního systému - aplikace to ani nemusí poznat.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý