
Originariamente inviata da
signfra
Ho installato il pacchetto
Connector/J. ma da lo stesso errore
come lo hai installato?
questo è il mio codice, e funziona
codice:
// classi per database
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DatabaseMetaData;
// classi per leggere file
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
// classe per leggere file chiave/valore
import java.util.Properties;
/**
* Classe per connettersi a database mysql. Non e' necessario che il database sia
* esistente. I parametri per l'accesso devono essere in un file di nome properties.txt
* nel formato chiave/valore. Si suppone che mysqld sia attivo e funzionante.
*
*/
public class DBConnection {
private static Connection connection;
private static String driver;
private static String url;
private static String admin;
private static String adm_passwd;
private static String fileName = "properties.txt";
private static Statement st = null;
private static ResultSet rs = null;
/**
* Inizializzatore. Carica e legge il file che contiene proprieta' relative
* a driver, url, admin, adminpasswd, e carica il driver del database con
* metodo statico forName della classe Class che rappresenta classi ed
* interfacce in una applicazione Java. Vengono lanciate eccezioni
* IOException, FileNotFoundException, ClassNotFoundException
*
* @param fileName il nome del file che contiene proprieta' relative a
* driver, url, admin, adminpasswd
* @throws java.io.IOException
* @throws java.io.FileNotFoundException
* @throws java.lang.ClassNotFoundException
*/
public static void init(String fileName)
throws IOException, FileNotFoundException, ClassNotFoundException {
// predispone lettura da file con chiave/valore
Properties properties = new Properties();
// definisce input stream da file
FileInputStream fileInputStream = new FileInputStream(fileName);
// associa input stream a istanza Properties
properties.load(fileInputStream);
// associa a stringhe i valori ottenuti dal file
driver = properties.getProperty("driver");
url = properties.getProperty("url");
admin = properties.getProperty("admin");
adm_passwd = properties.getProperty("admin_passwd");
Class.forName(driver); // carica il driver in memoria
}
/**
* (DriverManager) Stabilisce connessione alla base di dati mysql
*
* @return
* @throws java.sql.SQLException
*/
public static Connection getConnection() throws SQLException {
return connection = DriverManager.getConnection(url, admin, adm_passwd);
}
/**
* Crea il database e le tabelle se non esistenti
*/
public static void createDb() throws SQLException {
st = connection.createStatement();
int result=st.executeUpdate("CREATE DATABASE IF NOT EXISTS TableManager");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/TableManager", admin, adm_passwd);
st = connection.createStatement();
(altre istruzioni di creazione tabelle)
}
/**
* Chiude la connessione alla base di dati mysql
*/
public static void closeConnection() throws SQLException {
connection.close();
}
}