Главная страница » Статьи и уроки » C# статьи » Подключение к удалённой Mysql с помощью C#
Опрос
Вы занимаетесь разработкой сайтов?
Выделенные и виртуальные серверы в Европе

Подключение к удалённой Mysql с помощью C#

Автор: administrator Дата: 20-08-2015, 23:46 Категория: Статьи и уроки / C# статьи

Как удаленно подключиться к базе данных, размещенной на нашем хостинге?!


Сегодня мы попробуем создать небольшое приложение WindowsForms на языке C# и подключиться к нашей базе данных (БД) MySQL на удалённом сервере хостинга. Чтобы наше приложение могло подключаться удалённо, для начала нам нужно разрешить удалённый доступ по IP адресу.

Настройка доступа


- Для настройки подключения к MySQL извне необходимо зайти в Панель управления и перейти в раздел «Базы данных MySQL».
- Нажмите кнопку «Доступ по IP» → «Добавить IP» и укажите IP-адрес, с которым вы выходите в сеть. Узнать свой IP-адрес можно на сайте inet.from.sh
- Также в форме можно указывать IP-адреса с символом % в октетах. Например, для разграничения доступа с IP-адресов одной подсети:
192.168.1.%

Пример настройки доступа по IP-адресу в панели ISP manager:


Если всё настроено, то мы можем приступать к написанию нашего приложения.

Создадим наше приложение: «Файл» → «Создать» → «Проект» → «Приложение Windows Forms» и нажмём "ОК".




Для работы с MySQL нам необходимо подключить ссылку MySql.Data и в исходном коде добавить пространство имён MySql.Data.MySqlClient

- В обозревателе решений жмём правой кнопкой мыши в разделе «Ссылки» → «Добавить ссылку»

- В открывшемся окне переходим в раздел «.NET», находим и выделяем компонент «MySql.Data» и нажимаем "ОК"


- Далее в исходном коде нашей формы добавляем пространство имён
using MySql.Data.MySqlClient;


Небольшое отступление


При переустановки системы столкнулся с такой проблемой, как отсутствие MySql.Data. Проблема эта решилась после установки официального коннектора для работы с базами данных MySql на платформе .NET.
Переходим по ссылке и скачиваем наш коннектор.

Подготовительная часть завершена, теперь приступим к написанию нашего кода подключения.

Для проверки подключения нам необходимо добавить на нашу форму кнопочку. Переходим в конструктор нашей формы и из панели элементов перетаскиваем нашу кнопочку на форму


Двойной щелчёк мыши по созданной нами кнопке создаёт событие нажатия на кнопку и переводит нас в исходный код нашей формы.

Событие нашей кнопки:

private void button1_Click(object sender, EventArgs e)
{

}


Остальной код мы будем писать внутри скобок, но для начала рассмотрим несколько способов создания строк подключения.

Первый способ
Можно просто создать строковую переменную и указать в ней все данные для подключения, например:

string myConnectionString = "Database=DBNAME;Data Source=IPADRESS;User Id=DBUSER;Password=DBPASSWORD";

Где:
DBNAME - это имя базы данных Вашей MySql;
IPADRESS - IP адрес Вашей базы (обычно совпадает с IP адресом сайта);
DBUSER - Имя пользователя базы данных;
DBPASSWORD - Пароль пользователя БД.

Способ второй

MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder();
mysqlCSB.Server = "192.168.0.1";  // IP адоес БД
mysqlCSB.Database = "test_db";    // Имя БД
mysqlCSB.UserID = "root";        // Имя пользователя БД
mysqlCSB.Password = "rootpass";   // Пароль пользователя БД
mysqlCSB.CharacterSet = "cp1251"; // Кодировка Базы Данных


Какой способ подключения использовать Вам решайте сами, а мы для примера воспользуемся первым способом.
Не буду дальше расписывать весь код, а просто приведу пример подключения к БД

private void button1_Click(object sender, EventArgs e)
{
    string myConnectionString = "Database=db_name;Data Source=192.168.0.1;User Id=root;Password=rootpass";
    MySqlConnection myConnection = new MySqlConnection(myConnectionString);
    try
    {
        myConnection.Open(); // Открываем соединение
        // --- код запроса и т.п. --- //
        MessageBox.Show("Подключение прошло успешно!");
        myConnection.Close(); // Закрываем соединение
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "Ошибка");
    }
}


В предоставленном ниже проекте реализованы оба способа подключения и небольшой пример запроса к БД, и вывод данных в DataGridView, который также можно найти в "Панеле элементов" и перетащить его на форму.

Исходный код: Скачать файл: windowsformsmysql.zip [29,37 Kb] (cкачиваний: 249)

P.S. - файл MySql.Data.dll также можно скачать с нашего сайта и подключить его непосредственно к приложению, чтобы в дальнейшем не возникало проблем с отсутствием нужных библиотек.
Скачать библиотеку: Скачать файл: mysql.data.zip [121,48 Kb] (cкачиваний: 118)

Новость отредактировал administrator - 3-02-2022, 23:49
Причина: Столкнулся с проблемой отсутствия стандартной библиотеки после переустановки системы
  • Не нравится
  • +3
  • Нравится
Просмотров: 21 349 Напечатать Жалоба
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Написать комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: