PDA

View Full Version : [Java e DB] Qual'è l'url del driver per mySql?


Night82
27-03-2006, 14:34
Sto sperimentando Java con i DB. Voglio connettemi ad un db Mysql.

Qual'è il JDBC URL del driver per Mysql?

sottovento
27-03-2006, 14:42
jdbc:mysql://indirizzoMacchina/NomeDatabase[?Opzione1][?opzione...]

Puoi specificare utente ed eventuale password fra le opzioni, per esempio
jdbc:mysql://indirizzoMacchina/NomeDatabase?user=root?password=nonladico

High Flying
Sottovento

Night82
27-03-2006, 15:24
Ok, per indirizzo macchina intendi l'IP ovviamente? Dall'url posso risalire all'IP?
PS Non sto usando Apache, uso spazio web con mysql gratuito.

sottovento
27-03-2006, 15:29
Ok, per indirizzo macchina intendi l'IP ovviamente? Dall'url posso risalire all'IP?
PS Non sto usando Apache, uso spazio web con mysql gratuito.

Il nome della macchina (quello che c'e' nell'URL), al posto dell'indirizzo IP, va benissimo.

High Flying
Sottovento

Night82
27-03-2006, 15:59
Ho messo così ma non funzia:
"jdbc:mysql://http://xxx.ilbello.com/mysqladmin//_ev"
e neanche così:
jdbc:mysql://http://xxx.ilbello.com//_ev
Ho questi problemi:

http://img47.imageshack.us/img47/9116/immagine24hb.jpg

sottovento
27-03-2006, 16:09
Ho messo così ma non funzia:
"jdbc:mysql://http://xxx.ilbello.com/mysqladmin//_ev"
e neanche così:
jdbc:mysql://http://xxx.ilbello.com//_ev
Ho questi problemi:

http://img47.imageshack.us/img47/9116/immagine24hb.jpg

Il nome del database, per quanto mi ricordo, non deve essere separato dal nome della macchina da un doppio slash. Uno e' piu' che sufficiente.

Se hai problemi con il nome della macchina, prova ad usare uno dei vari tool in dotazione. Per esempio, puoi provare con mysql.
In questo caso, ti va bene anche una risposta del tipo "non hai i permessi per fare questo": hai trovato che il server e' vivo, anche se non ti vuole tanto bene. Ma questo lo risolverai dopo.

High Flying
Sottovento

Corvo80
27-03-2006, 16:59
Scusa ma li carichi i driver?

Ad esempio, per il Microsoft SQL Server 2000 devi scrivere:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

e poi connetterti al database.

Night82
27-03-2006, 17:24
Si ho scritto Class.forName("com.mysql.jdbc.Driver");
ma mi da comunque ClassNotFound. Probabilmente non è l'indirizzo corretto.

Night82
27-03-2006, 17:47
Quell'indirizzo l'ho trovato online su più siti diversi.

Night82
27-03-2006, 17:56
Ho provato anche con org.gjt.mm.mysql.Driver ma non funziona. L'ho trovato in questo post (http://www.hwupgrade.it/forum/showpost.php?p=8399106&postcount=12) dove c'è un tutorial apposito.

Night82
27-03-2006, 18:09
Ottimo ora ci sono riuscito! Seguendo quel tutorial! Grazie ad entrambi.. per il momento ;).

Night82
29-03-2006, 09:19
In realtà l'entusiamo iniziale si è rivelato infondato. Mi trovo ancora più o meno al punto iniziale. Vorrei farvi delle domande banali ma utili per me a ritrovare la via :rolleyes:.

Allora andando per passi considerate che sia principiante dal punto di vista dei DB meno dal punto di vista di Java ;). Intanto voglio caricare il driver. Poi penserò a connettermi.

L'obiettivo è: gestire un DB online con Java e MySql (ho uno spazio gratuito con MySql 4.1.14). Allora:

Ho creato una cartella \DB. Ho questo codice (LoadDriver.java):
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class LoadDriver {
public static void main(String[] args) {
try {Class.forName("com.mysql.jdbc.Driver").newInstance();}
catch (Exception ex) {System.out.println("ERROR");}
}
}
Ho scaricato da MySql.com il pacchetto "mysql-connector-java-3.1.12.zip". Ora creo una cartella \lib all'interno di \DB. Unzippo tutto lo zip in quella cartella \DB\lib. Quindi il file Driver.class si troverà in \DB\lib\src\com\mysql\jdbc.

Se adesso lancio LoadDriver mi stampa la stringa "ERROR" segno che non ha caricato il driver.

Corvo80
29-03-2006, 10:04
I casi sono 2:

1) Non hai importato correttamente i packages (i 3 file *.jar del JDBC).

2) L'indirizzo dei driver è sbagliato.

Nel primo caso, senza impazzire col classpath come fanno tutti, ti consiglio di usare Eclipse e di aggiungerli alla source del progetto con un semplice click.

Nel secondo caso... beh, google ti sarà d'aiuto.

Night82
29-03-2006, 10:29
1) Non hai importato correttamente i packages (i 3 file *.jar del JDBC).

2) L'indirizzo dei driver è sbagliato.

Grazie per la risposta. Allora:
1)Io mi sono limitato a scompattare lo zippo quindi non dovrebbe essere un problema. Facendo una ricerca dei file jar nella cartella \lib ottengo:
http://img95.imageshack.us/img95/8518/immagine34zi.jpg.

2) L'indirizzo dovrebbe essere corretto.

sottovento
29-03-2006, 11:23
Hai fatto tutto correttamente. Mi sembra che pero' non hai aggiornato il CLASSPATH aggiungendovi il mysql-connector-java-3.1.12-bin.jar

Corvo80
29-03-2006, 15:40
Hai fatto tutto correttamente. Mi sembra che pero' non hai aggiornato il CLASSPATH aggiungendovi il mysql-connector-java-3.1.12-bin.jar

Appunto per evitare questi casini col CLASSPATH gli consigliavo di usare Eclipse :cool: