Comment ajouter mySQL Server au Sources de données (ODBC)? [Résolu]

Signaler
Messages postés
97
Date d'inscription
dimanche 18 octobre 2009
Statut
Membre
Dernière intervention
26 octobre 2010
-
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
-
Bonjour, j'ai crée une base de donnes avec mySQL server et je cherche a lier cette base avec l'API JDBC a travers les Sources de données (ODBC), alors comment faire?
et just une petite aide: quele est le fichier qui represente ma table dans ma base de donnes?
maTable.frm
maTable.MYD
maTable.MYI

bonne soiré

1 réponse

Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
9
1. Télécharger et installer "MySQL Connector ODBC".

2. Définir la source de données sous Windows:
Panneau de configuration | Performances et maintenance | Outils d'administration | Sources de données (ODBC)
Sélectionner l'onglet "Sources de données utilisateur"
Ajouter...
sélectionner "MySQL ODBC 5.1 Driver"
Terminer
Attendre la fenêtre "MySQL Connector/ODBC Data Source Configuration"
Data Source Name: saisir un nom quelconque
Database: sélectionner la base de données
Test
OK

3. Ce que les fichiers représentent:
maTable.FRM : Fichier de définition de la table
maTable.MYD : Fichier contenant les données de la table
maTable.MYI : Fichier d'index

4. Démo java:
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class MyTest {

    private Connection connection;
    private int bYear = 1949;
    private int bMonth = 9;
    private int bDate = 21;
    private Calendar cal = Calendar.getInstance();

    public MyTest() {
        try {
            connection = DriverManager.getConnection("jdbc:odbc:mytest");
            Statement stmt = connection.createStatement();
            stmt.executeUpdate("CREATE TABLE if not exists customer("
                    + "First_Name char(50),"
                    + "Last_Name char(50),"
                    + "Birth_Date date)");
            stmt.executeUpdate("delete from customer");
            PreparedStatement pstmt = connection.prepareStatement("INSERT "
                    + "INTO customer (First_Name, Last_Name, Birth_Date)"
                    + "VALUES (?,?,?)");
            int parameterIndex = 1;
            //First_Name:
            pstmt.setString(parameterIndex++, "Paul");
            //Last_Name:
            pstmt.setString(parameterIndex++, "McCourt");
            //Birth_Date:
            cal.set(Calendar.YEAR, bYear);
            cal.set(Calendar.MONTH, bMonth - 1);
            cal.set(Calendar.DATE, bDate);
            pstmt.setDate(parameterIndex++, new Date(cal.getTimeInMillis()));
            //
            pstmt.executeUpdate();
            ResultSet rs = stmt.executeQuery("select * from customer");
            while (rs.next()) {
                String firstname = rs.getString("First_Name");
                String lastname = rs.getString("Last_Name");
                Date birthdate = rs.getDate("Birth_Date");
                java.util.Date date = new java.util.Date(birthdate.getTime());
                SimpleDateFormat dfmt = new SimpleDateFormat("dd MMM yyyy");
                System.out.println(firstname + " " + lastname
                        + ",  " + dfmt.format(date));
            }
            rs.close();
            stmt.close();
            pstmt.close();
            connection.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new MyTest();
    }
}