Робота з базами даних mysql з використанням odbc, mysql, статті, програмування -

Тонка настройка MySQL

Робота з базами даних MySQL з використанням ODBC

Незважаючи на те, що створення WEB-орієнтованих графічних користувальницьких інтерфейсів (GUI - Graphical User Interfaces) для роботи з сервером баз даних MySQL являє собою досить поширений метод організації механізмів адміністрування СУБД, воно не позбавлене деяких недоліків. Зокрема, до них можна віднести повільне Internet-з'єднання або необхідність врахування можливості доступу до бази даних з використанням різних браузерів. Природно, проблеми такого роду у великій ступені не залежать від вас як від розробника інформаційної системи, але навряд чи замовник буде вникати в такі тонкощі. Таким чином, крім проблем з розробкою, заснованої на базі даних Internet-системи, ви отримуєте головний біль з організацією введення даних.

1. Завантажте відповідний файл з Internet (або отримаєте його будь-яким альтернативним способом).
2. Розпакуйте архів (найбільш поширений архіватор для Internet-файлів - WinZip - http // www.winzip.com).
3. Запустіть програми установки (setup.exe).
4. Після появи вікна привітання натисніть "Continue".
5. Тепер з'явиться діалог установки драйверів. Серед доступних драйверів виберіть драйвер MySQL і натисніть "Ok".
6. Після цього піде установка деякої кількості файлів.
7. З'явиться діалог вибору джерел даних (Data Sources). Натисніть "Close".
8. Встановлення драйвера завершена. Вітаю, тепер ви щасливий володар можливості роботи з MySQL через драйвер ODBC.

Хочу звернути вашу увагу на наступне: при установці драйвера можуть виникнути проблеми, пов'язані з бібліотекою MFC30.dll. Якщо в процесі установки виявилася невдалою, то слід здійснити одне з нижче перерахованих дій:

1. Встановіть драйвер при роботі Windows в захищеному режимі (Safe Mode). Для цього при перезавантаженні необхідно натиснути F8.

2. Інший варіант: редагування файлу odbc.inf (тільки при роботі під управлінням операційних систем Windows 98 / NT) видалення з файлу рядки:

Отже, установка драйвера успішно завершена. Нижче я приведу приклад, який демонструє можливості, що надаються драйвером MyODBC для організації взаємодії між MySQL і MS Access.

демонстраційний проект

Першим кроком буде створення бази даних MySQL і входять до неї таблиць. Для цього слід запустити додаток musqladmin і виконати наступну команду:
%> Mysqladmin create testdb

Тепер створимо нового користувача і надамо йому повний доступ до щойно створеної бази даних (на читання, додавання, оновлення та видалення інформації):
%> Mysql -u root -p mysql
Enter password:
Welcome to the MySQL monitor. Commands end with; or \\ g.
Your MySQL connection id is 17 to server version: 3.22.34-shareware-debug
Type 'help' for help.
mysql> GRANT select, insert, update, delete on testdb to admin;

В рамках статті ми не будемо детально розглядати синтаксис команди GRANT. Скажу лише, що в даному випадку ми надали доступ до бази даних testdb користувачеві admin.

Тепер зайдемо в систему MySQL в якості користувача 'admin' і створимо таблицю clients:
%> Mysql -u admin
mysql> use testdb;
mysql> create table clients (
-> ClientId mediumint not null auto_increment,
-> Name char (30) not null,
-> City char (50) not null,
-> Phone char (10) not null,
-> Email char (55) not null,
-> Primary key (clientID));

Нагадую, що таблиця носить демонстраційний характер, і питань про доцільність введення тих чи інших полів в даній статті піднімати не варто.

Отже, всі підготовчі операції закінчені. Наступним етапом буде додавання до списку існуючих джерел даних (Data Sources) ODBC джерела, пов'язаного з базою даних testdb. Для цього здійснимо наступні дії.

На клієнтському комп'ютері запускаємо на виконання додаток ODBC Data Source Administrator (ODBC DSA). Для цього слід в панелі управління (Control Panel) вибрати іконку, підписану "ODBC Data Sources (32bit)". Після натискання на обраний значок перед вами з'явиться діалог додатки ODBC DSA. Натисніть на кнопку "Add.". Перед вами з'явиться діалог додавання нового джерела даних. У цьому діалозі виберіть драйвер MySQL і натисніть "Готово" ( "Finish"). Після цього перед вами постане форма введення даних, необхідних для налаштування ми створювали джерела даних. Хоча все поля в тій чи іншій мірі впливають на конфігурацію драйвера, слід виділити декілька найбільш важливих.

Windows DSN Name - Ім'я джерела даних, яке в подальшому буде використовуватися в клієнтському додатку для доступу до інформації. Зокрема, для цього поля вводжу назву відповідної бази даних. В даному випадку це буде testdb.

Отже, після коректного заповнення всіх перерахованих вище полів натискаємо кнопку "Ok". Тепер у нас з'явилася можливість працювати з базою даних testdb за допомогою будь-якої програми, сумісного зі стандартом ODBC. В наступній частині статті ми поговоримо про роботу з MS Access.

Синхронізація MS Access з MySQL

Для новачка цей процес може виглядати досить страхітливо, проте насправді нічого складного в ньому немає, і складається він з декількох досить простих кроків. Отже, запустимо на виконання додаток MS Access. Виберіть елемент керування "Нова база даних" і натисніть "OK". Після створення нової бази даних збережіть її, назвавши, наприклад, testdb.mdb. Тепер ми маємо можливість отримати доступ до інформації в базі даних testdb MySQL з використанням імпортування та зв'язування. Тут я вважаю за необхідне сказати кілька слів про ці механізми.

Імпорт і зв'язування таблиць - це дві технології, що дозволяють з файлу бази даних Access отримати доступ до даних зовнішніх таблиць. Імпорт даних рекомендується здійснювати в тих випадках, коли в додатку, що розробляється поля таблиць повинні мати інші типи даних або розміри, ніж ті, які Access вибирає при установці зв'язку; у користувачів немає інтерактивного доступу до файлу бази даних в реальному часі, зв'язок з ним встановлювати просто не можна; для роботи програми потрібно, щоб в поле таблиці, що є для зовнішнього файлу первинним ключем, допускалося дублювання даних.

Якщо ж вірно одне з наступних тверджень, то краще встановлювати зв'язок з таблицями зовнішньої бази даних:
- ви використовуєте файл зовнішньої бази даних спільно з іншими користувачами, і або ви, або інші користувачі можете змінювати дані цього файлу;
- файл модифікується за допомогою засобів іншої СУБД;
- файл розташований на іншому комп'ютері, наприклад на сервері, і розмір його для вашого комп'ютера занадто великий.

В рамках сьогоднішньої розмови розглянемо варіант зв'язування таблиць. Для цього вам необхідно вибрати пункт меню Файл | Зовнішні дані | Зв'язок з таблицями. На екрані з'явиться діалог. Потім в списку, що випадає "Тип файлів" вибрати елемент "ODBC Databases ()". З'явиться перелік існуючих джерел даних. Перейдіть на закладку "Machine Data Source" і виберіть джерело даних, відповідний базі даних testdb MySQL. Після натискання на кнопку "OK" перед вами з'явиться список таблиць, які пропонуються для зв'язування. Після цього пов'язана таблиця з'явиться в основному вікні бази даних MS Access. Отже, тепер у нас з'явилася можливість введення даних в таблицю clients. Введення даних можна здійснити як у діалозі роботи безпосередньо з таблицею, так і в спеціально розробленої формі. Давайте введемо кілька записів, а потім повернемося в діалог mysql і виконаємо наступну команду:
%> Mysql -u admin
mysql> use testdb;
mysql> select * from clients;

Якщо все зроблено коректно, то перед вами постануть ті ж дані, які ви ввели при роботі в MS Access. Тепер пропоную здійснити ще одну перевірку коректності встановлених зв'язків. Продовжимо роботу в діалозі mysql. Нехай при роботі з базою даних з використанням MS Access ви ввели запис, в якій поле phone = '1234567'. Виконаємо наступну команду:
mysql> delete from testdb where phone = '1234567';

Тепер повернемося в MS Access і переконаємося, що відповідний запис видалена, і це можна проконтролювати не тільки через утиліту mysql.

На завершення цієї статті хочу звернути вашу увагу на те, що переваги використання MyODBC не обмежуються роботою з MS Access. Наприклад, якщо ви не дуже розбираєтеся в Access, але розробляєте програми в Borland Delphi / Builder, Microsoft Visual Basic і т.д. то точно так само, як в Access, можна створити інтерфейс введення даних з використанням тієї чи іншої середовища програмування. Таким чином, перед вами відкриваються широкі перспективи по розробці клієнтських Windows-додатків, взаємодіючих з базами даних MySQL

Схожі статті