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
10
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();
    }
}