Newsgroup: it.comp.java
Titolo: Connessione a db online e esecuzione dei programmi

Salve a tutti sono ancora piuttosto inesperto di programmazione e
sopratutto programazione java... ho creato un po di tempo fa un
programma in python che si connette ad un database mysql, mi
piacerebbe potermi connettere anche con java ad un db mysql, qualcuno
mi sa indicare un tutorial (meglio in italiano) che spiega come fare?
sto cercando di creare un file Jar in tutti i modi ma non riesco io lo
faccio da consolle con il comando
jar cf nomefile.jar nomefile da inserire   il file jar lo crea ma non
riesco ad eseguirlo... ho provato a modificare il file MANIFEST.MF
inserendo :  Main-Class: cartella.nomemain
ma non cambia nulla mi da questo errore la shel quando provo ad
eseguirlo
program@total-laptop:~/Desktop$ java -jar Dietologia.jarException in
thread "main" java.lang.NoClassDefFoundError: codice/DietologiaSwing
cosa puo essere?

 cosa puo essere?
Hai inserito nel jar la directory partendo dal classpath (ossia con codice)?
Luca

 
http://www.pgday.it/files/LFerrari_corsoJDBCPostgresql.pdf.zip
Anche se me la cavo decentemente, l'ho scaricato. Postgres è proprio il mio
dbms preferito.
Ma ti scrivo per un altro motivo. Il pdf esportato differisce un po' dal
modello presente in openoffice. Avevo pure aperto un bug su launchpad per
questo:
https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/123737
Ma nessuno mi ha ancora risposto...

 Forse questo ti può essere utile, ma è relativo a PostgreSQL:
http://www.pgday.it/files/LFerrari_corsoJDBCPostgresql.pdf.zip
Grazie mille sono riuscito a fare qualcosina anche grazie a quel
pdf... ma non sono riuscito comunque a compilare... ecco il codice:
import java.sql.*;
import com.mysql.jdbc.*;
  public class conndb {
    public static void main (String args[]) {
    	try{
    	String driverName = "com.mysql.jdbc.Driver";
		Class driverClass = Class.forName(driverName);
        Connection con = DriverManager.getConnection("jdbc:mysql://
localhost/miodatabase?user=utente&password=miapass");
    	}catch(SQLException ex){
    		System.out.println("SQLException: " + ex.getMessage());
    		System.out.println("SQLState: " + ex.getSQLState());
    		System.out.println("VendorError: " + ex.getErrorCode());
}}
  }
il contenuto del jar del jdbc l'ho scompattato nella cartella da dove
eseguo la compilazione del programma... ma mi da quest errore:
program@total-laptop:~/Desktop/conn-db$ javac conndb.java
conndb.java:10: reference to Connection is ambiguous, both class
com.mysql.jdbc.Connection in com.mysql.jdbc and class
java.sql.Connection in java.sql match
        Connection con = DriverManager.getConnection("jdbc:mysql://
localhost/miodatabase?user=utente&password=miapass");
        ^
1 error
Non riesco a capire da cosa sia dovuto...
Qualcuno sa aiutarmi?

 Non riesco a capire da cosa sia dovuto...
Sia il package java.sql che com.mysql.jdbc contengono una classe 
Connection, per cui quando la istanzi:
 > Connection con = DriverManager.getConnection[...]
Non sa quale usare.
Puoi ovviare o specificando meglio i package (sostituendo i * con le 
classi che effettivamente ti servono) oppure scrivendo:
java.sql.Connection con = DriverManager.getConnection[...]
Ciao,
Paolo

 import com.mysql.jdbc.*;
Questa import non serve. Tieni presente che se non devi accedere a delle
funzionalità avanzate del driver, e non portabili, non necessiti del
package di cui sopra (si usa in genera la reflection), quindi rimuovi
questo import e il tuo codice compilerà.
Luca

Grazie per aver risposto
import java.sql.*;
  public class conndb {
    public static void main (String args[]) {
        try{
        String driverName = "com.mysql.jdbc.Driver";
        Class driverClass = Class.forName(driverName);
        java.sql.Connection con =
DriverManager.getConnection("jdbc:mysql://localhost/miodatabase?
user=utente&password=miapass");
        }catch(SQLException ex){
                System.out.println("SQLException: " +
ex.getMessage());
                System.out.println("SQLState: " + ex.getSQLState());
                System.out.println("VendorError: " +
ex.getErrorCode());
}}
  }
Ecco il mio codice... ma purtroppo non funziona  e non riesco a capire
come mai
Questo è l'errore... che restituisce(sia che faccia import
com.mysql.jdbc.*;  sia che non lo inserirsca)
program@total-laptop:~/Desktop/conn-db$ javac conndb.java
conndb.java:7: unreported exception java.lang.ClassNotFoundException;
must be caught or declared to be thrown
        Class driverClass = Class.forName(driverName);
                                         ^
1 error
Sapete aiutarmi ??
Grazie mille

 Sapete aiutarmi ??
Devi mettere una try-catch attorno a questa istruzione:
 > Class driverClass = Class.forName(driverName);
Ti consiglio caldamente di leggerti un tutorial.
Questo non è in italiano ma è fatto bene:
http://www.developer.com/java/data/article.php/3417381
Ciao,
Paolo

 Paolo
Grazie mille... questo tutorial ha risolto ogni dubbio sono riuscito
infatti a connettermi e a inviare delle query ottimo grazie mille!!