ebook img

технология ado и доступ к данным ms sql server PDF

54 Pages·2008·0.59 MB·Russian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview технология ado и доступ к данным ms sql server

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» В.Г. Рудалев ТЕХНОЛОГИЯ ADO И ДОСТУП К ДАННЫМ MS SQL SERVER Учебно-методическое пособие для вузов Издательско-полиграфический центр Воронежского государственного университета 2008 Утверждено научно-методическим советом факультета прикладной мате- матики, информатики и механики 14 марта 2008 г., протокол № 7 Рецензент зав. каф. ПО и АИС ВГУ проф. М.А. Артемов Учебное пособие подготовлено на кафедре технической кибернетики и ав- томатического регулирования факультета прикладной математики, инфор- матики и механики Воронежского государственного университета. Пособие рекомендуется для студентов факультета ПММ Воронежского го- сударственного университета, сдающих экзамен по курсу «Технологии проектирования информационных систем». Для специальности: 010501 – Прикладная математика и информатика 2 Введение MS SQL Server – семейство серверов БД от фирмы Microsoft. В на- стоящее время наиболее широко распространена версия MS SQL Server 2000. По совокупности показателей и функциональных возможностей при очень скромных системных требованиях SQL Server 2000 превосхо- дит InterBase, уступая Oracle. Постепенно набирает популярность версия SQL Server 2005, при- ближающаяся по своим характеристикам к Oracle, доступна для скачива- ния пробная версия SQL Server 2008. Существует также «облегченная» бесплатная версия SQL Server 2005 Express Edition. Тем не менее, мы бу- дем рассматривать более старую версию SQL Server 2000, которая, будучи удобнее в эксплуатации, при гораздо более низких системных требованиях не имеет (по кругу базовых вопросов, рассматриваемых в данном пособии) существенных отличий от последних версий. По утверждениям разработчиков, приведенным в онлайновой доку- ментации, SQL Server 2000 может обслуживать базы данных терабайтных объемов при доступе тысяч пользователей. Однако главным достоинством MS SQL Server (а также его главным недостатком) является тесная инте- грация с Windows и сопутствующими программными продуктами Micro- soft (Back Office, Visual Studio .NET, IIS). Общими являются модель защи- ты, базирующаяся на защите Windows, консоль администрирования, набор программных интерфейсов и др. Важным фактором, сдерживающим рас- пространение MS SQL Server, является отсутствие его версий для альтер- нативных операционных систем. По данным опроса посетителей сайта www.sql.ru SQL Server 2000 является наиболее популярной СУБД в РФ. На втором месте – Oracle, на третьем – InterBase. Мировая статистика объемов продаж (в денежном вы- ражении) свидетельствует о безусловном лидерстве Oracle. 3 Доступ к базам данных сервера возможен из программ на любых языках программирования через универсальные интерфейсы ADO, ADO.NET, ODBC, JDBC. 1. Технология ADO. Общая характеристика Для доступа к данным SQL Server из клиентских приложений, напи- санных на языке Delphi для платформы Win32 можно применять хорошо известные универсальные технологии Borland Database Engine (BDE) и DBExpress, разработанные фирмой Borland. Однако рекомендуемый под- ход – использование технологии Microsoft ActiveX Data Objects (ADO), оп- тимизированной для SQL Server. Технология ADO основана на возможностях СОМ, а именно интер- фейсов OLE DB. Базовый набор интерфейсов OLE DB предустановлен во всех версиях Microsoft Windows, поэтому при переносе приложения на другой компьютер для его работоспособности достаточно лишь правильно настроить провайдер OLE DB. Провайдер OLE DB представляет собой СОМ-сервер, предоставляющий набор интерфейсов для доступа к данным, и «скрывающий» особенности конкретных источников данных. Провайде- ры OLE DB разработаны для большинства СУБД (MS Access, Oracle, Inter- base и др.) и многих других источников данных. Часть провайдеров (на- пример, OLE DB Provider for SQL Server) уже установлена в системе, дру- гие доступны для скачивания в Internet. Технология ADO – надстройка над интерфейсом OLE DB, облегчающая его использование прикладными про- граммистами. Технология ADO и интерфейсы OLE DB предоставляют приложе- ниям единый способ доступа к источникам данных различных типов. При- ложение, использующее ADO, может однотипно работать с данными, хра- нящимися на сервере SQL, с электронным таблицами и локальными СУБД (MS Access). Согласно терминологии ADO, любой источник данных (база 4 данных, электронная таблица, файл) называется хранилищем данных, с ко- торым при помощи провайдера взаимодействует приложение. В результате приложение обращается не напрямую к источнику данных, а к объекту OLE DB, который представляет данные в виде табли- цы БД или результата выполнения запроса SQL. Такая архитектура позво- ляет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер могут быть созданы для любого хранилища данных без изменения исходной структуры ADO. При этом существенно расширяется само понятие данных. Можно разработать набор объектов и интерфейсов и для не табличных данных, например, графи- ческих данных, древовидных структур, данных CASE-инструментов и др. [4]. В Delphi на странице ADO палитры компонентов расположены ком- поненты доступа к данным, инкапсулирующие технологию ADO. Общая методика их использования построена по тем же принципам, что и у ос- тальных компонентов доступа к данным (BDE, IBExpress, DBExpress и др.), однако внутренняя организация совсем другая. Это удобно, так как программист может с успехом использовать ранее имевшиеся навыки и опыт работы с другими СУБД. Например, компоненты ADO поддержива- ют навигацию, работу с наборами данных, кэшируемые изменения (здесь они называются пакетными обновлениями), управление транзакциями. Наиболее серьезное препятствие здесь – научиться мыслить категориями архитектуры клиент-сервер, и не пытаться переносить методы и приемы создания персональных баз данных в многопользовательскую клиент- серверную среду. С другой стороны, с помощью свойств и методов упомянутых ком- понентов при необходимости легко обратиться к дополнительным воз- можностям ADO для более «тонкой» настройки приложения (см. п. 2.8). Более подробную информацию можно получить в [4]. 5 2. Компоненты ADO в Delphi 2.1. Наборы данных ADO Предполагая, что читатель уже знаком с компонентной методикой создания приложений БД [6], рассмотрим основные особенности компо- нентов ADO для доступа к данным. На странице ADO Палитры компонентов Delphi расположены ком- поненты, инкапсулирующие набор данных ADO и приспособленные для работы с ADO соединениями. Это пять компонентов: ● TADODataSet — универсальный набор данных; ● TАDOTаblе — таблица БД; ● TADOQuery — запрос SQL; ● TADOStoredProc — хранимая процедура; ● TADOCommand – команда ADO. 2.2. Компонент TADOTable Компонент ТАDOTаblе предназначен для использования таблиц БД, подключенных через провайдеры OLE DB. По своим функциональным возможностям и применению он подобен стандартному компоненту BDE TTable и возвращает на клиентский компьютер все записи таблицы, формируя в адресном пространстве приложения набор данных. В клиент- серверной среде обычно требуется доставлять клиенту ограниченное число записей, поэтому от ТАDOTаblе по возможности следует отказываться и использовать компоненты TADOQuery, TADODataSet или TADOCommand и встраивать в них оператор SELECT с ограничительным условием WHERE. Имя таблицы БД задается свойством property TableName: WideString; 6 Свойство property Readonly: Boolean; позволяет вклю- чить или отключить для таблицы режим «только для чтения». Набор дан- ных открывается методом Open и закрывается методом Close. Также можно использовать свойство property Active: Boolean; Дополнительно для наборов данных можно сделать активным фильтр (с помощью свойств Filter: String и Filtered: Boolean). Фильтр ограничивает видимые записи на клиентской машине, поэтому на загрузку сети он не влияет. Для установки соединения используется свойство Connection: TADOConnection, в котором хранится имя компонента-соединения. Также допускается непосредственная запись параметров соединения в свойство property СonnectionString: WideString;. 2.3. Компонент TADOQuery Компонент TADOQuery предназначен для выполнения запросов языка SQL. Текст запроса хранится в свойстве property SQL: TStrings; Параметры передаются в запрос с помощью свойства property Parameters: TParameters; Если запрос должен возвращать набор данных, для его открытия ис- пользуется свойство property Active: Boolean; или метод procedure Open; В противном случае достаточно использовать метод function ExecSQL: Integer; Число обработанных запросом записей возвращает свойство property RowsAffected: Integer; 7 2.4. Компонент TAdoDataSet Универсальный компонент TADODataSet предназначен для пред- ставления набора данных ADO и может применяться несколькими спосо- бами, в зависимости от типа команды ADO и ее текста. Например, полу- чать данные из таблиц, запросов SQL, хранимых процедур и т. д. В терми- нах ADO к текстовым командам ADO относятся операторы DML (в том числе, SELECT), DDL, операторы вызова исполняемых хранимых процедур. Для управления командами ADO используются свойства Command- Text: WideString и CommandType: TCommandType. Например, можно задать CommandType = cmdText и занести в свойство CommandText текст запроса SQL. Здесь можно использовать только оператор SELECT. Если задать тип команды cmdTable, то в Com- mandText следует занести имя таблицы и т. п. Соединение с базой данных задается свойством Connectionstring или Connection. Набор данных открывается и закрывается свойством Active или методами Open и Close. 2.5. Компонент TADOStoredProc Компонент TADOStoredProc позволяет использовать хранимые процедуры. Имя хранимой процедуры определяется свойством property ProcedureName: WideString; Для определения входных и выходных параметров используется свойство property Parameters: TParameters; Если процедура будет применяться без изменений многократно, для ускорения работы полезно заранее подготовить ее выполнение на сервере. Для этого свойству property Prepared: Boolean присваивается значение True. 8 2.6. Команды ADO Компонент TADOCommand соответствует команде ADO. Это упро- щенный компонент, предназначенный для выполнения операций, которые не возвращают наборы данных (например, модификация данных, испол- няемые хранимые процедуры). Поэтому у TADOCommand нет необходимо- сти работать c наборами записей, а его непосредственным предком являет- ся класс TComponent, к функциональности которого добавлены меха- низм соединения с БД через ADO и средства представления команды. Команда передается в хранилище данных ADO через собственное соединение или через компонент TADOConnection аналогично другим компонентам ADO. Текстовое представление выполняемой команды должно содержаться в свойстве property CommandText: WideString; Если для выполнения команды необходимо задать параметры, ис- пользуется свойство property Parameters: TParameters; Команда выполняется методом Execute. 2.7. Настройка соединения Для установки соединения с сервером предназначен компонент TADOConnection. Компонент многофункционален, но чаще всего он ис- пользуется для настройки соединения и управления транзакциями. Ос- тальные компоненты содержат ссылку на TADOConnection и обраща- ются к серверу через одно соединение. Перед открытием соединения необходимо задать его параметры. Для этого предназначено свойство TADOConnection property ConnectionString: WideString; Набор параметров зависит от типа провайдера и записывается в это свойство как вручную, так и при помощи специального редактора пара- метров соединения, который вызывается двойным щелчком на компоненте 9 TADOConnection, перенесенным на форму, или щелчком на кнопке в по- ле редактирования свойства ConnectionString в Инспекторе объектов. Подробно методика настройки рассматривается далее на примере в разделе 3. Здесь отметим некоторые особенности и дополнительные воз- можности. Параметры соединения могут храниться в файле с расширением udl (радиокнопка Use Data Link File в окне настройки). Файл UDL пред- ставляет собой обычный текстовый файл, в котором указываются название параметра и через знак равенства его значение. Параметры разделяются точкой с запятой: [oledb] Everything after this line is an OLE DB initstring Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Use Procedure for Prepare=1; Auto Translate=True;Packet Size=4096;Workstation ID=COMP; Use Encryption for Data=False; Если файл параметров соединения отсутствует, настройку осущест- вляется вручную. Для этого следует нажать кнопку Build. В результате по- является диалоговое окно Data Link Properties. Первая страница «Поставщик данных» (Provider) этого окна позво- ляет выбрать провайдер OLE DB для конкретного типа источника данных из числа провайдеров, установленных в системе. Состав элементов управления следующих страниц зависит от типа источника данных. На странице «Подключение» для случая SQL Server за- дается имя сервера, имя базы данных, способ аутентификации пользовате- ля (в зависимости от способа – имя и пароль пользователя). Страница «Дополнительно» задает дополнительные параметры со- единения. В зависимости от типа хранилища данных некоторые элементы этой страницы могут быть недоступны. В поле «Время ожидания подключения» можно задать время ожи- дания соединения в секундах. По истечении этого времени процесс пре- рывается. 10

Description:
MS SQL Server – семейство серверов БД от фирмы Microsoft. В на- стоящее время ducts, а в качестве ResulField – поле из таблицы товаров, которое бу- дет отображаться среди . Завершить и
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.