Question

J'utilise le bloc Application de données pour la majorité de mes accès aux données, en particulier la classe SqlHelper pour appeler les méthodes ExecuteReader, ExecuteNonQuery et autres. Passer la chaîne de connexion à chaque appel de base de données.

Comment puis-je modifier cela pour permettre également la connexion à une base de données MySQL.

Était-ce utile?

La solution

Si la bibliothèque d'entreprise est installée et que vous savez déjà comment vous connecter aux bases de données SQL Server, la connexion aux bases de données MySQL n'est pas plus difficile.

Une façon de le faire est d’utiliser ODBC. Voici ce que j'ai fait:

  1. Allez sur MySQL.com et téléchargez le dernier connecteur ODBC MySQL. Au moment où j'écris ceci, c'est 5.1.5. J'ai utilisé la version 64 bits, car j'ai Vista 64 bits.
  2. Installez le connecteur ODBC. J'ai choisi d'utiliser la version sans installateur. Je viens de le décompresser et d'exécuter Install.bat à l'invite de commande d'un administrateur. La version MSI fonctionne probablement bien, mais je l’ai fait de cette façon lorsque j’ai installé le connecteur 3.51.
  3. Vérifiez l'installation en ouvrant le panneau de configuration ODBC et en vérifiant l'onglet Pilotes. Vous devriez voir le pilote MySQL ODBC 5.1 répertorié ici. Cela semble même coexister pacifiquement avec l'ancienne version 3.51 si vous en avez déjà un. En outre, il coexiste pacifiquement avec le connecteur .NET s'il est également installé.
  4. À ce stade, vous ferez ce que vous avez fait pour vous connecter à une base de données SQL Server. Tout ce que vous devez savoir, c'est quoi utiliser pour une chaîne de connexion.
  5. Voici à quoi ressemble le mien:
  6. Bien sûr, vous pouvez définir " nom " à tout ce que vous voulez.
  7. S'il s'agit de votre seule base de données, vous pouvez la configurer comme base de données par défaut comme ceci:
  8. Accédez à vos données dans votre code comme vous le faites toujours! Voici un exemple SQL simple:
    public List<Contact> Contact_SelectAll()
    {
        List<Contact> contactList = new List<Contact>();
        Database db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest");
        DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact");
        using (IDataReader dataReader = db.ExecuteReader(dbCommand))
        {
            while (dataReader.Read())
            {
                Contact contact = new Contact();
                contact.ID = (int) dataReader["ContactID"];
                client.FirstName = dataReader["ContactFName"].ToString();
                client.LastName = dataReader["ContactLName"].ToString();
                clientList.Add(client);
            }
        }

        return clientList;
    }

Vous pouvez également créer et utiliser un fournisseur MySql. Ce type l'a fait . J'ai appris à le faire en en adaptant ces instructions . pour se connecter à Access. Oh, et voici d'autres exemples de chaînes de connexion MySql .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top