Программирование >>  Реализация баз данных 

1 ... 71 72 73 [ 74 ] 75 76 77 ... 162


214 Управление и манипулирование Глава 7

Data Source wners.mdh; User ID - Admin; Password-) ,..Contacts

Здесь роль компонента мтупа OLE DB играем источника дан-

ных - файл C:\StoreOwners.mdb, идентификатора пользователя - admin, а пароль не используется.

Упражнение 2. Применение распределенных . , : запросов для доступа к внешним данным

В этом упражнении еделите связанный сервер, а затем подключитесь к внешнему источнику данных с помощью операторов SELECT. Чтобы выполнить это упражнение, необходимо зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server и скопировать файл Testl.mdb из папки с прилагаемого компакт-диска в корневой каталог

диска С: на компьютере под управлением Windows 2000.

f 1рим(НЭНИе Выбор папки для копируемых файлов не ограничен корнев1м каталогом или дисков С:. Разрешается выбрать другой каталог или диск для хранения файла при условии, что он будет доступен связанному серверу и операторам

► Определение нного сервера

1. Откройте Enterprise Manager и затем - вкладку Security для локальной базы данных.

2. Щелкните правой кнопкой узел Linked Servers, а затем - New Linked Server. Появляется диалоговое окно Linked Server Properties - New Linked Server.

3. Выберите переключатель Other Dita Source. Несколько опций, расположенных в нижней части диалогового окн тану] активными.

4. В поле Linked Server наберите TESTSERVER.

5. Выберите Microsoft Jet 4.0 ОЕЕ DB Provider из раскрываю1пегося списка Provider Name.

6. В поле Data Source наберите C:\Testl ,mdb.

7. Щелкните ОК.

В дереве консоли появляется связанный сервер Test SeTVer,

В1полнение запроса к внешнему источнику данных щью функции OPENQUERY

1. Откройте Query Analyzer и подключитесь к локальному серверу.

2. На панели Editor в окне Query введите следующий код Transact-SQE:

SELECT

FROM OPENQUERY

(Test Server, ЗВЬЕСТ FlrstNami, LastName FROM Testtablel)

В этом операторе функция OPENQUERY связанный сервер (Test

Server) и определяет оператор SELECT, который возвращает значения столбцов First-

Name и EastName из таблицы TeslTable L.

3. Исполните оператор Transact-SQL.

На вкладке Grids панели Results выводится результирующий набор.

► В1полнение запроса исгочиику данн1х шью оператора Transact-SQL

1. На панели Editor в окне Query введите следующий код Transact-SQL:



SELECT FirstName, LastName FROM Test Server.,.TestTable1

В этом операторе связанный сервер определяется в составе

имени. Обратите внимание, что в качестве заполнителей для двух частей используется троеточие (...). Этот оператор возвращает тот же результат, что и оператор из предыдущей процедуры. 2. Исполните оператор Transact-SQL.

На вкладке Grids панели Results выводится результирующий набор.

► Вгполнение запроса к внешнему источнику ных щью функции OPENROWSET

L На панели Editor в окне Query введите следующий код Transact-SQL: SELECT FirstName, L.-.dtNaiiib FROM OPENROWSET

(Microsoft, jet.oledb.4.0, C:\Test1-fndb ; adnln; , TestTablel)

В этом операторе функция OPENROWSET используется для извлечения из таблицы

TestTablel значений столбцов FirstName и LastName. Здесь компонентом доступа OLE DB является Microsofl.jel.oledb.4.0. источником данных - файл C:\Testl.mdb, идемти-фикатором пользователя - admin, пароль отсутствует.

2. Исполните оператор Transact-SQL.

На Grids панели Results выводится результирующий набор.

Резюме

Распределенные запросы позволяют получать доступ к данным, хранимым на нескольких различных экземплярах SQL Server и к гетерогенным которые хранятся в различ-

ных реляционных и нереляционных источниках данных. Распределенные запросы способны обращаться к данным из внешних источников с помощью OLE DB. SQL Server 2000 поддерживает два метода для ссылки на гетерогенные источники данных OLE DB из операторов Transact-SQL: имя связанного сервера и истинное имя компьютера. С имени связанного сервера в операторах Transact-SQL удается идентифицировать внешние источники данных. После того как связанный сервер определен, его имя разрешается использовать как имя сервера в имени при ссылке на таблицу или представление или как входной параметр функции Кроме того, для редко исполняемых запросов к источникам данных OLE DB, для которых не определено имя связанного сервера, можно использовать истинные имена компьютеров. В SQL Server 2000 функции и предоставляют сведения о соединении для получения доступа к источникам данных OLE DB.



21 б Управление и маийпуянрчванне энными Гл1ава 7

Замятие 3. Извлечение данных с помощью курсоров

Курсор - это сущность, соответствие с результирующим набором и

на одну из его строк. После позиционирования курсора на некоторой строке над этой строкой или над который начинается с этой позиции, можно выполнять различные действия. В этом занятии мы познакомим вас с курсорами SQL Server и с тремя типами их реализации. Вы также узнаете, каким образом выбрать влечь) строку, на которой установлен курсор, и как задать поведение курсора. Кроме этого, мы расскажем о блокировке курсора.

Изучив материал этого занятия, вы сможете:

описать три типа реализации курсоров: серверные курсоры Transact-SQL, серверные курсоры API mTCKve курсоры; объявить, открыть и закрыть чурсо]:. с помощью Transact-SQL; извлечь строку из курсора с помощью Transact-SQL.

Продолжительность занятия - около 30 минут.

Основные сведения о курсорах

В реляционных базах данных операции выполняются над наборами строк. Оператор SELECT набор, который состоит из всех строк, соответствующих в

конструкции WHERE условию. Полный набор строк, который возвращает оператор, на-результирующим набором Приложения, особенно не всегда

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

Курсоры расширяют возможности обработки результатов, обеспечивая поддержку следующих функций:

* позиционирование на строках результирующего набора;

* извлечение одной строки или блока строк от текущей позиции курсора в результирующем наборе;

* поддержку модификации данных в строке, на которой в текущий момент позиционирован курсор в наборе;

поддержку уровней видимости для изменений, которые вносят другие пользо-

в данные результирующего набора; предоставление доступа к данным результирующего набора операторам Transact-SQL в составе сценариев, хранимых процедур и триггеров.

SQL Server поддерживает три курсоров: серверные курсоры Transact-SQL, серверные курсоры API и клиентские Поскольку первые два вида курсоров реализованы на сервере, их в совокупности серверными курсорами.

Не следует смешивать зона и ие курсоров различных типов. При исполнении операторов DECLARE CURSOR и из приложения сначала необходимо установить

значения по умолчанию для атрибутов курсора APL Если установить для атрибутов курсора значения, отличные от заданных по умолчанию, а затем исполнить операторы DECLARE CURSOR и то SQL Server установит соответствие курсора API и курсо-

ра Transact-SQL. В частности, не следует задавать атрибутов которые



1 ... 71 72 73 [ 74 ] 75 76 77 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.003
При копировании материалов приветствуются ссылки.
Яндекс.Метрика