[ Mr. Rejn @ 11.01.2005. 18:30 ] @
Da li je neko koristio Connector/J za MySQl (mysql-connector-java-1.3.6-bin.jar)
na win2000?

Uputstvo za instalaciju kaze:
stavi u .bat CLASSPATH i resetuj:

Code:

$ setenv CLASSPATH=c:\mysql-connector-java-1.3.6-bin.jar:$CLASSPATH


(.jar je u root-u C:-a),
a u kodu se registruje driver stavljanjem u "glavnu klasu" programa:

Code:

 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;

  public class klijent {
     public static void main(String[] args) {
         try {
            
             Class.forName("com.mysql.jdbc.Driver").newInstance();
         } catch (Exception ex) {
             // obrada greske...
           System.out.println("Greska:" + ex)
         }
 }


pa sam napravio demo klijent na komandnoj liniji koji samo uspostavlja
vezu i izlazi,ali on ne moze da nadje driver,pa je rezultat je ovo:

Code:

Greska:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
SQLException: No suitable driver
SQLState: 08001
VendorError: 0


Da li je neko ovo radio na win2000, bio bih veoma zahvalan na odgovoru,jer
bi mi uskratio puno jebavanja,hvala puno...
[ veljaradenkovic @ 11.01.2005. 20:15 ] @
Nista ne kapiram ali pokusacu da ti opmognem.

Ne treba ti taj .bat.

Startuj program ovako
Code:
java -cp ".;C:\mysql-connector-java-1.3.6-bin.jar" klijent
. (Moras da navedes command line na direktorijum gde ti se nalazi kompajliran .class file ili da umesto klijent navedes celu putanju do njega)

Naravno mozes da napravis i .bat ali onda za vrednosti -cp i programa moras da navedes putanje relativne u odnosu na putanju do .bat fajla.


Ili bas ako oces pogledaj kako se na Win200 setuju env varijable pa setuj tamo class path.

Ako stignem sutra cu da napisem mali info o setovanju classpatha.
[ Mr. Rejn @ 12.01.2005. 11:15 ] @
Kako to da nista ne kapiras,pa to je postupak iz prirucnika za instalaciju
Connector-a, nisam ga ja izmislio.Tvoja komandna linija daje ovo:
Code:

java -cp ".;C:\mysql-connector-java-1.3.6-bin.jar" klijent
Exception in thread "main" java.lang.NoClassDefFoundError: klijent

Klijent,Connector i .bat su u root-u tj. C:\ (to se moze nazvati root ili mozda gresim? ,
dakle svi su na istom mestu.
Ovo isto nema efekta:
Code:

java -cp -jar "c:\mysql-connector-java-3.1.6-bin.jar" c:\klijent.jar

poruka je ista kao gore,sa tvojom komandnom linijom.
Napisao sam u pitanju 1.3.6 umesto 3.1.6,ali nije bitno, posto sam u komandnoj
liniji pisao ispravno..
[ veljaradenkovic @ 12.01.2005. 11:55 ] @
Ako ne znas pitaj.

Code:
java -cp -jar "c:\mysql-connector-java-3.1.6-bin.jar" c:\klijent.jar


Ovo ne radi jer nemas manifest fajl u kom se specificira glavna klasa odakle ce java da pocne.

Dakle ovo zadnje sto si pokusao radice ovako:
Code:
java -cp "c:\mysql-connector-java-3.1.6-bin.jar;c:\klijent.jar" klijent


Da je u pitanju samo kompajliran .class fajl radilo bi i ono prvo.

Nemoj da nazivas klase malim slovom. Procitaj nesto o notacijama.

Kada pitas ljude nesto ... Opisi bolje problem. Nigde nisi pominjao arhivu (.jar)Prirucnici nisu magicni stapic. Nije to prirucnik za povezivanje antene pa da ubacujes stvari koje ne razumes. Lepo razmotri svaki deo dok ne budes siguran sta radi.

Uostalom ostavicu ti link sa kodom za kratko vreme.


[ sr3t3n @ 13.01.2005. 19:03 ] @
samo iskopiraj taj jar u /jre/lib/ext
[ Mr. Rejn @ 14.01.2005. 12:51 ] @
Citat:
sr3t3n: samo iskopiraj taj jar u /jre/lib/ext

To radi.
Ali samo kada se klijent.jar pokrece iz NetBeans...
[ veljaradenkovic @ 14.01.2005. 14:23 ] @

Postoji vise nacina da se ovo uradi i uvek je bolje osloniti se na one koje omogucavaju da sistem ne bude zavistan od racunara na kom ce raditi.

Dakle bolje je osloniti se na relativne putanje koje mogu da se upotrebe u slucajevima koje sam ja naveo ... napisao ih u bat fajlu ili ne.

Ako classpath setujes kao environment varijablu ili ako kopiras .jar-ove po folderima to ne mozes da postignes.


Pitaj sebe:

Kako cu da instaliram aplikaciju na klijent masini ?

Da idem tamo pa da im kopiram .jar. ?


http://www.lusys.net/ClasspathForD.zip

Unzip bilo gde i run.bat.

Src je tvoj unutra.

[ Mr. Rejn @ 15.01.2005. 12:16 ] @
Tvoj primer radi sjajno,ali..
Ja pravim klijent kao .jar,a ne kao .class (radim u NetBeans),
kada upotrebim tvoj sistem,dobijem:
Code:

Exception in thread "main" java.lang.NoClasDefFoundError:Client
<wrong name: client/Client>

U NetBeans napravim projekat npr. Client i "glavnu klasu" nazovem
Client,tako da u browseru sa leve strane imam jedan fajl Client.java.
Verovatno se radi o nekoj pocetnickoj gresci,ali zaista ne mogu
da je provalim (u pitanju je -> neznanje).
[ mucky @ 15.01.2005. 13:53 ] @
Ako napravis projekat Client, proveri da li ti je mozda i paket nazvan Client.
"wrong name: client/Client"
To govori da se klasa Client nalazi u paketu client (a ne u paketu Client),
sto znaci da u manifestu jar fajla za Main-Class atribut moras navesti
"client.Client"
[ Mr. Rejn @ 15.01.2005. 14:31 ] @
Dodatak:
poruka o gresci koju sam naveo dobija se kada se pokrene
Client.class, na nacin koji je naveden u zip-u koji je ostavio
veljaradenkovic.


Citat:
mucky: Ako napravis projekat Client, proveri da li ti je mozda i paket nazvan Client.
"wrong name: client/Client"
To govori da se klasa Client nalazi u paketu client (a ne u paketu Client),
sto znaci da u manifestu jar fajla za Main-Class atribut moras navesti
"client.Client"


A u manifestu i stoji:
Code:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.4.2_06-b03 (Sun Microsystems Inc.)
Main-Class: client.Client
X-COMMENT: Main-Class will be added automatically by build

u editoru stoji: package client;
[ shima @ 15.01.2005. 15:31 ] @
Ne mogu bas da pratim dobro ovaj tred a i nemam mnogo znanja ali mislim da manifest fajl aplikacije
mozda treba da sadrzi:
Class-Path: mysql-connector-java-3.1.6-bin.jar
(i to u slucaju da se ovaj .jar nalazi u istom folderu kao i .jar pomocu koga startujes aplikaciju)
molim te javi da li ovo radi... i ako radi zanimalo bi me sta treba uraditi u NetBeansu da on to
napise u manifest fajlu...
[ mucky @ 15.01.2005. 15:32 ] @
A stani, jel ti u root-u tvog jar fajla stoji Client.class ili se on nalazi u "client" direktorijumu? Morao bi biti u direktorijumu, a ne u root-u jar fajla!

Ako ne znas kako ovo da proveris, samo preimenuj .jar u .zip i otvori ga.
[ veljaradenkovic @ 15.01.2005. 18:12 ] @
Ako hoces da pokrenes jar jedino sto treba da uradis je da stavis i taj jar u class path.


Ovako:
Code:
java -cp "lib/mysql-connector-java-3.0.11-stable-bin.jar;classpathdemo.jar" net.lusys.Client


Ovde sam otisao korak dalje i nisam ostavio klasu Client u default paketu jer nije preporucljivo. Uglavnom linija koda je u skladu sa primerom =>


http://www.lusys.net/classpathdemo.zip
[ veljaradenkovic @ 15.01.2005. 18:19 ] @
Omakla mi se neka rekurzija u pakovanju.

Tako da ko ima .zip od 500 i kusur kb neka downloaduje ponovo.
[ Mr. Rejn @ 15.01.2005. 21:28 ] @
Covece,eto sta ti je rekurzija...
Kada sam video sta je sve u onom .jar-u,zamalo nisam pao sa
stolice.

Evo resenja:
Stavio sam .bat sa tvojom komandnom linijom u root direktorijuma
sa Client projektom u NetBeans-u...
Komandna linija sada glasi:
Code:

java -cp "lib/mysql-connector-java-3.1.6-bin.jar;dist/Client.jar" client.Client
PAUSE


dakle stavio sam /lib/mysql-connector...jar u direktorijum projekta.
Znaci, Client.jar se pokrece sa bilo kog mesta na sistemu.

Evo okacicu ceo projekat klijenta na komandnoj liniji ovde, posto
vidim da se dosta ljudi zainteresovalo za ovo,a i jedan link
ka dobrom tutorijalu za JDBC koji sam nasao:

http://www.oreilly.com/catalog/msql2/chapter/ch13.html

Morate da skinete mysql-connector-java-3.1.6-bin.jar posto je suvise
velik da bi ga stavio u zip, pa ga smestite u /lib.
Ako neko hoce da pokrece ovo, treba da edituje URL za JDBC driver,u
Client.java, tj.da stavi svoj username i password (mora da bude admini-
strator baze),zato sto upit u klijentu pristupa sistemskoj bazi mysql
i prikazuje imena korisnika (User) iz tabele user.
Sledeci korak je pravljenje GUI klijenta, tako sto cu delove koda da
dodelim akcijama mehanizama.