Подключитесь к MySQL из блока приложений данных Microsoft.
-
03-07-2019 - |
Вопрос
Я использую блок приложения данных для большей части доступа к данным, в частности, использую класс SqlHelper для вызова методов ExecuteReader, ExecuteNonQuery и подобных.Передача строки подключения при каждом вызове базы данных.
Как я могу изменить это, чтобы включить подключение к базе данных MySQL.
Решение
Если у вас установлена корпоративная библиотека и вы уже знаете, как подключаться к базам данных SQL Server, подключиться к базам данных MySQL не составит труда.
Один из способов сделать это — использовать ODBC.Вот что я сделал:
- Перейдите на MySQL.com и загрузите последнюю версию соединителя MySQL ODBC.На момент написания статьи это 5.1.5.Я использовал 64-битную версию, так как у меня 64-битная Vista.
- Установите соединитель ODBC.Я решил использовать версию без установщика.Я просто разархивировал его и запустил Install.bat в командной строке администратора.Версия MSI, вероятно, работает нормально, но я сделал это еще тогда, когда устанавливал разъем 3.51.
- Проверьте установку, открыв панель управления ODBC и проверив вкладку «Драйверы».Там вы должны увидеть драйвер MySQL ODBC 5.1.Кажется, он даже мирно сосуществует со старой версией 3.51, если она у вас уже есть.Кроме того, он мирно сосуществует с соединителем .NET, если он тоже установлен.
- На этом этапе вы будете делать то же самое, что и для подключения к базе данных SQL Server.Все, что вам нужно знать, это то, что использовать в качестве строки подключения.
- Вот как выглядит мой:
- Конечно, вы можете установить «имя» по своему усмотрению.
- Если это ваша единственная база данных, вы можете настроить ее как базу данных по умолчанию следующим образом:
- Получите доступ к своим данным в коде, как всегда!Вот простой текстовый пример 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..