• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
  • ONLINE CHAT
+380 (44) 364 05 71

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

В качестве первого шага в процессе установки MyODBC должно выступать получение собственно драйвера. Если у вас есть доступ в Internet, то это можно сделать, перейдя по ссылке http://www.mysql.com/downloads/ api-myodbc.html . На сайте имеются драйвера для работы под управлением операционных систем Windows 95/98/NT, UNIX, и Solaris. Поскольку мы хотим работать с MySQL, используя MS Access, то, естественно, следует обратиться к драйверу, предназначенному для операционной системы семейства Windows. Объем файла составляет примерно 1,53 Мб. Весь процесс установки состоит из восьми этапов:

1. Загрузите соответствующий файл из Internet (или получите его каким-либо альтернативным способом).
2. Распакуйте архив.
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) удаление из файла строки:

"MFC"=1, mfc30.dll,,,,1995-07-11, ,,, ,,,,,, 322832,,,, 3.2.0.0,

Итак, установка драйвера успешно завершена. Ниже я приведу пример, демонстрирующий возможности, предоставляемые драйвером MyODBC для организации взаимодействия между MySQL и MS Access.

Демонстрационный проект

Предположим, нам необходимо организовать возможность просмотра через Internet информации о клиентах некоторой фирмы. От нас, как от разработчиков, заказчик требует обеспечить возможность ввода данных с использованием приложения, не зависящего от скорости работы через Internet. Нет ничего проще! Мы просто обеспечиваем ввод данных с помощью приложения 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.

Автор: Сергей Кривошеев

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
navigate
go
exit
Спасибо, что выбираете FREEhost.UA