Salve a tutti,
sto iniziando a sviluppare applicazioni Java su piattaforma
Linux Red Hat Enterprise 5, in quanto utilizzato in ambito lavorativo.
Ho installato l'occorrente (JDK, Netbeans, MySQL, mysql-connector-java-5.1.6-bin.jar).
Il mysql-connector-java-5.1.6-bin.jar l'ho messo nella home utente e, da Netbeans, ho aggiunto la libreria.
Ho fatto una semplice classe per testare la connessione a MySQL.
Questo il codice:
Se eseguo il codice dall'IDE di Netbeans funziona.codice:package prgjdbc; import java.sql.*; public class Main { public static void main(String[] args) { Statement stmt = null; ResultSet rs = null; try{ System.out.println("Carico il driver"); Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/?" + "user=operatore" + "&" + "password=operatore"); System.out.println("Connessione a MySQL server effettuata con successo."); conn.setCatalog("test"); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT Nome, Valore FROM Tags"); String record = new String(); while(rs.next()) { record += rs.getString("Nome") + ", " + rs.getString("Valore") + "\n"; } conn.close(); System.out.println(record); } catch (Exception ex) { System.out.println("SQLException: " + ex.getMessage()); } } }
Se lo eseguo da terminale dalla home utente, ho questo output:
Se lo eseguo da terminale dalla cartella dist del progetto, ho quest'altro output:codice:[gigi@miopc ~]$ java -jar "/home/gigi/NetBeansProjects/PrgJDBC/dist/PrgJDBC.jar" Carico il driver Failed to load Main-Class manifest attribute from PrgJDBC.jar [gigi@miopc ~]$
questo e' il file MANIFEST.MFcodice:[gigi@miopc dist]$ java -jar "PrgJDBC.jar" Carico il driver SQLException: Unexpected exception encountered during query. [gigi@miopc dist]$
Cosa sbaglio? Ho dimenticato di impostare qualcosa?codice:Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 11.2-b01 (Sun Microsystems Inc.) Main-Class: prgjdbc.Main Class-Path: lib/mysql-connector-java-5.1.6-bin.jar X-COMMENT: Main-Class will be added automatically by build
Grazie, Gianpaolo

Rispondi quotando