Подключитесь к MySQL из Microsoft Data Application Block - PullRequest
1 голос
/ 31 декабря 2008

l Я использую блок Data Application для большей части моего доступа к данным, в частности использую класс SqlHelper для вызова ExecuteReader, ExecuteNonQuery и подобных методов. Передача строки соединения с каждым вызовом базы данных.

Как я могу изменить это, чтобы включить соединение с базой данных MySQL.

1 Ответ

3 голосов
/ 20 февраля 2009

Если вы установили Enterprise Library и уже знаете, как подключиться к базам данных SQL Server, подключиться к базам данных MySQL несложно.

Один из способов сделать это - использовать ODBC. Вот что я сделал:

  1. Перейдите на MySQL.com и загрузите новейший коннектор MySQL ODBC. Когда я пишу это, это 5.1.5. Я использовал 64-битную версию, так как у меня 64-битная Vista.
  2. Установите разъем ODBC. Я решил использовать версию без инсталлятора. Я просто распаковал его и запустил Install.bat из командной строки администратора. Версия MSI, вероятно, работает нормально, но я сделал это так, когда установил разъем 3.51.
  3. Проверьте установку, открыв панель управления ODBC и перейдя на вкладку Драйверы. Вы должны увидеть там драйвер MySQL ODBC 5.1. Кажется, он даже мирно сосуществует со старой версией 3.51, если она у вас уже есть. Кроме того, он мирно сосуществует с коннектором .NET, если он также установлен.
  4. На этом этапе вы будете делать то, что сделали, чтобы подключиться к базе данных SQL Server. Все, что вам нужно знать, это что использовать для строки подключения.
  5. Вот как выглядит моя:
  6. Конечно, вы можете установить «имя» на то, что вы хотите.
  7. Если это ваша единственная база данных, вы можете установить ее в качестве базы данных по умолчанию следующим образом:
  8. Доступ к вашим данным в вашем коде, как вы всегда делаете! Вот простой текстовый пример sql:
    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;
    }

Другой способ сделать это - создать и использовать провайдер MySql. Этот парень сделал это . Я узнал, как это сделать, адаптировав эти инструкции для подключения к Access. О, и вот еще несколько примеров строк подключения MySql .

...