Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005




Скачать 114.98 Kb.
НазваниеРекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005
Дата публикации23.04.2013
Размер114.98 Kb.
ТипДокументы
uchebilka.ru > Информатика > Документы
УДК 004.65
Крамаренко Т.А., Тихонов Ю.Л.
РЕКОМЕНДАЦИИ ПО ВЫБОРУ МЕХАНИЗМОВ ДОСТУПА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ НА C++ ДЛЯ СУБД MYSQL В СРЕДАХ CODE GEAR RAD STUDIO 2009 И VISUAL STUDIO 2005
В статье приводятся рекомендации по выбору механизмов доступа приложений баз данных на C++ для СУБД MySQL в средах Code Gear RAD Studio 2009 и Visual Studio 2005
В современных условиях процессы управления и обработки баз данных (БД) и информационных систем (ИС) автоматизированы и обрабатываются средствами вычислительной техники.

Многопользовательские системы управления базами данных (СУБД) позволяют создавать ИС, функционирующие в архитектуре "клиент-сервер". Пользователь осуществляет работу с базой при помощи приложений БД. Двухуровневые приложения, использующие удаленные базы данных, содержат клиентскую и серверную части.

На сегодняшний день одной из самых популярных клиент-серверных СУБД является MySQL. MySQL свободная СУБД, портирована на большое количество платформ, имеет API (Application Programming Interface, интерфейс прикладного программирования) для языков программирования Delphi, C, C++, Eiffel, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Актуальным является выбор языка, среды программирования и технологии создания клиентского приложения для СУБД MySQL, т.к. не смотря на поддержку MySQL интерфейса прикладного программирования приложений для многих языков, не все среды программирования имеют механизмы доступа приложений для данной СУБД и, зачастую, ориентированы на определенные СУБД. Например, современные мощные среды, содержащие компиляторы С++, Microsoft Visual Studio и Code Gear RAD Studio имеют обязательные механизмы поддержки соответственно СУБД Microsoft SQL Server, Microsoft Access и InterBase, наряду с другими СУБД.

Вопросы создания клиентских приложений БД на C++ рассмотрены многими отечественными и зарубежными учеными и специалистами в данной области. Так А. Хомоненко и С. Ададуров описывают различные механизмы доступа приложения БД (в частности для клиент-серверной СУБД InterBase), а также компоненты для создания клиентского приложения при работе с базами данных в Code Gear RAD Studio – C++ Builder [1].

В свою очередь Л. Пауэрс, М. Снелл и Б. Пахомов, касаются вопросов взаимодействия с базами данных (СУБД Microsoft SQL Server и Microsoft Access) и программирования приложения БД с применением Windows Forms в среде Microsoft Visual Studio [2, с. 696-748; 3, с. 487-517].

Л. Аткинсон рассматривает вопросы написания приложений на С и С++, взаимодействующих именно с сервером MySQL, с использованием клиентской библиотеки MySQL языка С mysql.h, а также с использованием библиотеки MySQL++ – официальной библиотекой классов языка С++, предназначенной для взаимодействия с MySQL, работающей с большинством компиляторов С++, включая Visual C++ компании Microsoft [4, с. 375-382, 421-425].

Архитектура клиент-сервер представляет собой вычислительную или сетевую архитектуру, в которой задания или сетевая нагрузка распределены между поставщиками услуг, – серверами, и заказчиками услуг, – клиентами. В системах, построенных по технологии "клиент-сервер", существует два вида интерфейса: интерфейс, реализуемый при помощи клиентского приложения и Web-интерфейс. Интерфейс, реализуемый при помощи клиентского приложения – это компьютерная программа, устанавливаемая на клиентские компьютеры, предназначенная для работы с файлами данных через сеть.

В данной работе рассмотрим и проанализируем механизмы доступа приложений БД с клиентским интерфейсом без создания элементов интерфейса приложения: форм, отчетов и т.д.

Программными средами, реализующими все требования, предъявляемые к клиентскому приложению, а также имеющими механизмы доступа приложений к удаленным БД, являются Code Gear RAD Studio и Visual Studio.

Цель работы – анализ механизмов доступа приложений баз данных для клиент-серверной СУБД MySQL на языке C++ в средах Code Gear RAD Studio 2009 и Microsoft Visual Studio 2005 и разработка рекомендаций по их использованию.

Среда Code Gear RAD Studio 2009 – C++ Builder для доступа к удаленной базе данных имеет следующие механизмы: ADO, BDE, dbExpress, InterBase Express. Последний механизм ориентирован только на работу с сервером InterBase.

^ Технология ADO (ActiveX Data Objects – объекты данных ActiveX) представляет собой универсальный механизм доступа к различным источникам данных из приложений баз данных c помощью OLE DB (Object Linking and Embedding Data Base – связывание и внедрение объектов БД) и является стандартом фирмы Microsoft. Основу технологии составляет использование набора интерфейсов общей модели COM, являющихся системным механизмом Windows. При использовании технологии ADO приложение может использовать данные из электронных таблиц, таблиц локальных и серверных баз данных, XML-файлов и т.д. (рис. 1)



Рис. 1. Схема доступа к данным с помощью ADO

В соответствии с технологией ADO любой источник данных (базу данных, файл, электронную таблицу) называют хранилищем данных. Приложение взаимодействует с хранилищем данных с помощью провайдера. Для каждого типа хранилища данных используется свой провайдер ADO. Провайдер обеспечивает обращение к данным хранилища с запросами, интерпретацию возвращаемой служебной информации для передачи их приложению. Все объекты и интерфейсы ADO являются объектами и интерфейсами СОМ.

После установки Microsoft ActiveX Data Objects в операционной системе доступны стандартные провайдеры ADO для соединения с серверами, такими как Microsoft SQL Server, Oracle, Access и некоторыми другими. Для неуказанных СУБД возможно создание соединения с сервером посредством программного интерфейса доступа к базам данных ODBC (Open Database Conectivity). Он позволяет работать с разными источниками данных, в независимости от особенностей их взаимодействия в каждом конкретном случае.

СУБД MySQL обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC и поэтому данный механизм доступа приложений может быть использован для создания клиентского приложения.

На компьютере клиента необходимо установить драйвер MyODBC, добавить новый источник данных. Для создания собственно приложения БД нужно создать проект VCL Form Application – C++ Builder, добавить в него модуль DataModule (Модуль данных – служит для размещения не визуальных компонентов, через которые осуществляется доступ к данным). Для создания соединения добавить компонент ADOConnection (ADO-соединение, используемое для установки соединения с ADO-источником данных и обеспечивающее поддержку транзакций) с вкладки ADO Палитры инструментов и затем выбрать в свойстве ConnectionString созданный источник данных ODBC (рис. 2).



Рис. 2. Настройка источника данных ODBC и компонента соединения.

Далее следует установить на модуль данных с вкладки ADO нужные компоненты доступа к данным по технологии ADO: ADOCommand (ADO-команды, используются для выполнения SQL-команд доступа к ADO-источнику данных без возвращения результирующего набора данных), ADODataSet (набор данных ADO, обеспечивает доступ к одной или более таблице ADO-источника данных и позволяет другим компонентам управлять этими данными), ADOTable (таблица ADO, обеспечивает доступ к одной таблице ADO-источника данных и позволяет другим компонентам управлять этими данными, связываясь с компонентом ADOTable через компонент DataSourse), ADOQuery (запрос ADO, позволяет выполнять SQL-команды для получения информации из ADO-источника данных и позволяет управлять этими данными) и ADOStoredProc (хранимая процедура ADO, позволяет приложениям получать доступ к хранимым процедурам). Компоненты необходимо настроить на ADO-соединение и определить объект данных БД, выбрав и заполнив соответствующие свойства. Затем следует расположить на модуле с вкладки DataAccess необходимое количество компонентов DataSourse (источников данных), которые используются как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет этим набором данных. В C++ Builder набор данных (НД) представляет собой совокупность записей, взятых из одной или нескольких таблиц БД. НД является логической таблицей, с которой можно работать при выполнении приложения. В свойстве DataSet компонента DataSourse следует выбрать нужный компонент доступа к данным.

ADO не позволяет работать с новыми типами БД, а также обновлять список поддерживаемых БД, т.к. является достаточно ранней технологией. К достоинствам ADO можно отнести независимость от драйверов БД, установленных в операционной системе, простое программирование.

^ Технология BDE (Borland Database Enging – процессор (машина) баз данных фирмы Borland) включает в себя первый и долгое время наиболее распространенный механизм доступа к данным из приложений, разработанных с использованием систем программирования от Borland. BDE представляет собой совокупность динамических библиотек и драйверов, обеспечивающих доступ к данным. Доступ приложения к СУБД осуществляется через драйверы SQL-Links. Приложение через BDE передает запрос к БД, а обратно получает требуемые данные (рис. 3)



Рис. 3. Двухуровневая архитектура "клиент-сервер"

Для СУБД MySQL необходимо установить предварительно процессор BDE, MyODBC-драйвер, создать источник данных ODBC (как в технологии ADO), отредактировать, или создать псевдоним БД в окне BDE Administrator.

На модуль данных в проекте VCL Form Application – C++ Builder для соединения с сервером БД добавить компонент DataBase. При настройке компонента DataBase выбрать заданный псевдоним, ввести имя БД и т.д. (рис. 4).



Рис. 4. Настройка псевдонима БД и компонента соединения

Далее следует установить c вкладки BDE на модуль данных нужные компоненты для работы с наборами данных при использовании механизма BDE: Table (получает и обслуживает НД, состоящий из записей единственной физической таблицы БД), Query (предназначен для получения набора записей из одной или нескольких таблиц БД), StoredProc (вызов хранимых процедур) и UpdateSQL (обеспечивает работу с кэшированными изменениями в записях). Установленные компоненты настроить на соединение, выбрать объекты данных БД. Затем, аналогично, как в технологии ADO, добавить и настроить компоненты источники данных.

Процессор BDE должен устанавливаться на всех компьютерах, на которых выполняются приложения С++ Builder. Инсталляция BDE требует порядка 15 Мбайт внешней памяти на диске и настройки псевдонимов используемых БД. Для реализации запросов (реляционного способа) для доступа к удаленной БД с помощью BDE необходимо использовать только средства языка SQL.

^ Технология dbExpress. Данная технология является более новой. Технология dbExpress обеспечивает прямой доступ к промышленным серверам без BDE или любого подобного механизма. В основе технологии dbExpress лежит использование множества драйверов, компонентов, объединяющих соединения, транзакций, запросов и наборов данных, а так же интерфейсов, реализующих универсальный доступ к соответствующим функциям.

При ее использовании для доступа к данным используются SQL-запросы. Обладая легкой переносимостью, приложения нормально работают под управлением как Windows, так и Linux. Для использования этой технологии достаточно подключить к приложению динамически подключаемою библиотеку с драйвером, взаимодействующим с клиентским программным обеспечением для нужного сервера базы данных, в частности, для MySQL (рис. 5). Библиотека libmysql.dll должна находиться либо в папке WINDOWS\System32, либо в папке с клиентским приложением.



Рис. 5. Схема доступа к данным с помощью dbExpress

На модуль данных в проекте VCL Form Application – C++ Builder для соединения с сервером БД следует добавить с вкладки dbExpress компонент SQLConnection. Данный компонент служит для установки соединения с сервером БД и представляет собой аналог компонента DataBase в BDE и ADOConnection в ADO. Компонент SQLConnection взаимодействует с двумя файлами, расположенными в каталоге ..\Common Files\Borland Shared\DBExpress. Файл dbxdrivers.ini содержит список инсталлированных драйверов серверов БД, и для каждого драйвера – список динамически подключаемых библиотек и параметров соединений, установленных по умолчанию. Список соединений содержится в файле dbxconnections.ini. Для наглядности приведем фрагмент кода из этого файла касательно СУБД MySQL.

[MySQLConnection]

DriverName=MySQL

HostName=127.0.0.1

Database=strahovanievar30

User_Name=Admin

Password=rhfvfhtyrj

BlobSize=-1

ErrorResourceFile=

LocaleCode=0000

Файл заполняется автоматически после настройки компонента SQLConnection. Для СУБД MySQL необходимо выбрать из списка в свойстве Driver строку MySQL, после чего отобразятся настройки для данной СУБД. Затем нужно задать следующие основные свойства компонента непосредственным вводом в нужные поля в ObjectInspector или, заполнив диалоговое окно свойства Params: хост (свойство HostName), указать имя базы данных (свойство Database), пользователя (свойство UserName), пароль (свойство PassWord), и т.д. (рис. 6).



Рис. 6. Настройка компонента SQLConnection, свойство Params

Далее следует установить c вкладки dbExpress на модуль данных нужные компоненты для работы с наборами данных при использовании механизма dbExpress: SQLQuery, SQLTable, SQLMonitor, SQLStoredProc, SQLDataSet и SimpleDataSet. Выбирая компоненты следует учитывать, что несколько из перечисленных компонентов (SQLQuery, SQLTable, SQLStoredProc и SQLDataSet) являются однонаправленными наборами данных, в которых отсутсвует буферизация. Эти НД обеспечивают более быстрый доступ к данным и предъявляют меньшие требования к ресурсам, но при этом на них накладываются заметные ограничения. Поэтому следует использовать компонент SimpleDataSet. Компонент SimpleDataSet предназначен для редактирования набора данных (получения данных, их кэширования и отправления измененных данных на сервер). Компонент использует двунаправленный курсор и позволяет редактировать данные в режиме редактирования, исправляя основные недостатки технологии dbExpress. При использовании данного компонента необходимо прописать соответствующие процедуры для подтверждения внесения изменений в записи в БД. Аналогично, как в технологиях BDE и ADO, следует установить на модуле данных компоненты DataSourse и настроить их на наборы данных.

По сравнению с использованием механизма BDE технология dbExpress обеспечивает построение более легковесных (по объему кода) приложений для работы с базами данных. К недостаткам технологии dbExpress можно отнести то, что она не поддерживает концепцию открытых таблиц и не содержит встроенную поддержку обновления данных, кроме способности выполнения запросов на вставку, удаление, обновление.

Клиентское приложение на С++ для СУБД MySQL также можно разработать средствами программной среды Visual Studio. Начиная с версии Visual Studio 2005, появилась возможность создавать интерфейс, реализуемый при помощи Windows Forms.

Visual Studio 2005 поддерживает следующие механизмы доступа к серверу: ADO и ADO.Net 2.0.

^ Технология ADO. Применительно к СУБД MySQL данная технология имеет ограничения: реализуется доступ к серверу БД, но нет доступа к структуре объектов БД (рис. 7 слева). Данный недостаток исправляет следующая технология.

^ Технология ADO.Net является смесью технологий ADO и RDC (Согласно данной технологии файлы данных рассматриваются в качестве устройств, т.е. для работы с БД необходим драйвер. Объект связи, работающий по технологии RDC, при работе с файлом данных сначала обращается к драйверу БД, который в свою очередь обращается к файлу данных). Объекты связи, работающие по этой технологии, работают аналогично объектам, работающим по технологии ADO, однако, объекты связи входят в состав пакета Microsoft Net Framework, и автоматически обновляются вместе с этим пакетом. Компоненты ADO.NET входят в поставку оболочки .NET Framework; таким образом, ADO.NET является одной из главных составных частей .NET.

СУБД MySQL поддерживает библиотеки для языков платформы .NET, что позволяет использовать данную технологию для создания клиентского приложения.

Для СУБД MySQL необходимо установить соответствующий драйвер ADO.NET, создать подключение в Обозревателе серверов к нужной базе данных на сервере (рис. 7 справа), а затем добавить в проект источник данных MySQL DataBase. Технология ADO.NET обеспечивает полный доступ к объектам базы данных и их структурам в отличие от технологии ADO.



Рис. 7. Подключение к базам данных по технологии ADO и ADO.Net

Недостатком ADO.NET является зависимость от пакета Microsoft Net Framework, а также использование собственной логики обновления в коде, при этом собственная логика обновления занимает больше места. Однако технология ADO.Net позволяет создавать динамические запросы и запросы, выполненные на стороне сервера, что является несомненным преимуществом.

Выводы. Выбор варианта технологии доступа к информации в БД, кроме прочих соображений, определяется с учетом удобства подготовки разработанного приложения к распространению, а также дополнительного расхода ресурсов памяти. При выборе среды программирования на С++, механизмов доступа к приложению БД следует учитывать, что описанные технологии имеют ряд достоинств и недостатков. Скорость доступа к данным, обеспечиваемая технологией ADO, существенно ниже, чем при использовании BDE. Без установки и регистрации BDE на компьютере клиента не может работать приложение БД, созданное в C++ Builder и использующее механизм BDE. Это обстоятельство существенно затрудняет распространение приложения, так как вместе с программой должен поставляться набор библиотек BDE. Технология dbExpress позволяет обращаться непосредственно к SQL–серверам клиент-серверных СУБД, в том числе MySQL, не смотря на то, что технология dbExpress требует от программиста несколько больших усилий, чем технологии ADO и BDE.

Таким образом, при выборе механизмов доступа к приложению БД (в том числе для СУБД MySQL) в среде Code Gear RAD Studio 2009, следует отдать предпочтение технологии dbExpress, так как она является более перспективной, создает "легкое" клиентское место (без громоздкого аппарата BDE и/или необходимости распространения вместе с приложением базовых объектов ADO) и также только эта технология обеспечивает создание клиентских мест и серверов приложений, работающих под управлением Linux.

При выборе механизмов доступа приложений БД с среде Microsoft Visual Studio 2005 следует использовать технологию ADO.Net, которая позволяет создавать динамические запросы и запросы, выполненные на стороне сервера и реализует полный доступ к структуре объектов БД в отличие от ADO. Также следует учитывать, что фирма Microsoft на сегодняшний день считает актуальным создание клиентских приложений для баз данных на объектно-ориентированном языке С#. Поэтому в дальнейших версиях продукта Microsoft Visual Studio для языка С++ есть поддержка механизмов доступа только для собственных СУБД фирмы Microsoft.

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

  1. Хомоненко А. Д. Работа с базами данных в C++ Builder. / А.Д. Хомоненко, С.Е. Ададуров – СПб. : БХБ-Петербург, 2006. – 496 с. : ил.

  2. Пауэрс Л. Microsoft Visual 2008 / Л. Пауэрс, М. Снелл : Пер. с англ. – СПб. : БХВ-Петербург, 2009. – 120 с. : ил. – (В подлиннике).

  3. Пахомов Б. И. С/С++ и MS Visual C++ 2008 для начинающих. / Б. И. Пахомов – СПб. : БХВ-Петербург, 2009. – 624 с. ил.

  4. Аткинсон Леон. MySQL. Библиотека профессионала. / Л. Аткинсон : пер. с англ. – М. : Издательский дом "Вильяме", 2002. – 624. : ил.

Добавить документ в свой блог или на сайт

Похожие:

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЛекція Механізми доступу додатків С++ до баз даних. Створення у середовищі...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconБ. Нойес Привязка данных в Windows Forms Книга охватывает все аспекты...
Даются подробные инструкции и рекомендации по работе с инструментальными средствами Microsoft Visual Studio для привязки данных приложений...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЛабораторная работа №9-11 Тема
Тема: Создание в программе CodeGear rad studio (C++Builder) клиентского приложения по технологии dbExpress для клиент-серверной субд...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЛабораторная работа №7-9 Тема
Тема: Создание в программе CodeGear rad studio (C++Builder) клиентского приложения по технологии dbExpress для клиент-серверной субд...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЛекция 3 Тема: Язык программирования С++. Общая характеристика языка....
Тема: Язык программирования С++. Общая характеристика языка. Технология разработки программы. Пример программы на С++. Среда программирования...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 icon1. Первый запуск ms visual C++
В меню «Пуск» – «Все программы» находим раздел Microsoft Visual Studio 2010 Express и запускаем программу Microsoft Visual Studio...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЗадание Изучить основные подходы к разработке приложений на платформе...
Изучить основные подходы к разработке приложений на платформе asp. Net при помощи Visual Studio ide

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconЛабораторная работа №5 Изучение mdi интерфейса
Программное обеспечение: операционная система Windows, интегрированная оболочка Visual Studio 2005 с установленным компонентом Visual...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconМотивация Описание организации
Субд ms sql 2000 Требования к рабочей станции: Операционная система Windows 98 и выше Язык реализации ms visual C++, ms visual Basic...

Рекомендации по выбору механизмов доступа приложений баз данных на c++ для субд mysql в средах code gear rad studio 2009 и visual studio 2005 iconИнструмент разработчика — ms visual Studio. Net
Поэтому, продвигая платформу. Net, компания Microsoft предлагает также инструментарий для программистов — Visual Studio. Net и систему...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<