Программирование баз данных MS SQL Server (1084479), страница 13
Текст из файла (страница 13)
Библиотеки ХесЕ)Ь представляют собой динамически связываемые библиотеки ()зупаппс4лп1с 1лЬгагу — ПЕЕ), которые используются в СУБД ЗОЕ Яегчег для обеспечения обмена данными с помощью определенных сетевых протоколов. Библиотеки Хес(лЬ могут рассматриваться в качестве своего рода промелсуточного программного обеспечения, обеспечивающего взаимодействие клиентских и серверных приложений по сети. Сетевые протоколы, которые поддерживаются библиотеками Хес(лЬ, предусмотренными в версии БЯЕ Бегчег 2005, перечислены ниже. О Протоколы Хаспес1 Рсрез.
О Протоколы ТСР/1Р (применяются по умолчанию). Я Протоколы сетевого взаимодействия с помощью разделяемой памяти (ЯЬагес) Меспогу). О Протоколы У1А. ИА — это спеуиалъная сетевая библиотека, тфедназначенная для использования с некотовъън весьма спеуиализсфованным (и весьма дсфогостоясуим) аппафатным обеспечением. Для обеспечения Работъс в феде ИА необходимо выполнить специальные т)тебования, которые к нас относя ся.
А тем„кто нв)таботает в этой феде, достаточно знать, что ИА тфедставляет собой комплект фезвычайно быстРодействуюсуих, но до~югостоясуих тфофаммньсх и аптифатных феде в, тфеднозначенных для обеспечения высокоаафостной связи междусфвеРаии. Как тфавиао, библиотека ИА не используппся для подключения обычнъсх клиентских кампьюте)тов. Для того чтобы клиентский и серверный компьютеры могли обмениваться данными друг с другом с помощью сетевого протокола, на каждом из них должны быть установлены одинаковые библиотеки ХесЕ(Ь. Если на клиентском компьютере выбрана библиотека ХеЖЬ, не поддерживаемая на серверном компьютере, то попытка установления соединения оканчивается неудачей и возникает ошибка брес111ес1 ь01.
Яегчег ЬСог Роппс). В состав сетевого программного обеспечения обязательно входит драйвер, который взаимодействует с библиотекой Хес(аЬ. Выбор конкретного драйвера зависит от применяемого метода доступа к данным и типа драйвера (БОЕ Ханое С1сепс, ОВВС, ОЕЕ ПВ или 1тВ-(лЬ). Схема процесса сетевого взаимодействия показана на рис. 2.2. Этапы процесса организации сетевого взаимодействия перечислены ниже.
1. Клиентское приложение вызывает сетевой драйвер (ЯОЕ Хайте С1(епс, ОВВС, О1.Е (зВ или (зВ-1аЬ). 2. Драйвер вызывает клиентскую библиотеку Хес1аЬ. 3. Библиотека Хес(лЬ обращается к драйверу соответствующего сетевого протокола н передает данные в серверную библиотеку Хес(лЬ. 4. Серверная библиотека ХесЫЬ передает запросы от клиента к СУБД БО1. Бегчег. Б8 Глава 2 Рис. 2.2. Схема ироиесса сетевого вгаимооейсотия Ответы, передаваемые от сервера ВЯЖИ Бегчег к клиенту, следуют тем же путем, но осуществляемые при этом действия выполняются в обратном порядке. По умоячвнцгега бабяиотме йее.й'прототкщга ТОР/Ф дега йриьема аащх оба примеевеуея айтеке',йьорт: Т4И Протоколы Вначале рассмотрим перечень доступных протоколов.
После вызова на выполнение программы Сощргнег Мапаяещепг Ш~!ггу и развертывания дерева Яегчег йе1чгогК Сопйцпгайоп открывается окно, показанное на рис. 2лй Рис. 2.3. Окно ЯС огтогт Со~фйгитигои Маоигеег Доступные инструментальные средства 59 ::ЛЕ УМОЛЧайИКГРаДРЕЩЕНО ОРИМЕНЕгтИЕ.ТОЛЬКО:-ЛРртгОКОЛЕ ДебтУйа:К'РаасдвпйЕМЕй'ПЕГМйатИ; " блага Меглогу;"В рредмдущих еереиях:программного'лррдукте'Зьа, оегкег по умолчайию'. бМЛО раерЕШЕНО ИСПОЛЬардаНИЕ тЕд:ИЛЛ друГИХ бйбЛИсОтЕК э1ЕтОЬ Е ЗаомбИМОСтИ От Еор1ОИИ.: '86$.,3егкегвс осг1ерацибнной 'бисозтемм. ,"г"гротогкотл доступе: к разделяемой ламетй аойаалбет, обебпгесчитьг дротуп;к 0уБд"Взтяепгек' -'- уотаноеленной не,том лге:комльскттере,,'где'находится клиентокбе' программное:обеопече'-;" НИЕ,',ЕСЛИжа тРЕбУЕтбй ОбЕРПЕЧИтЬ ЕааИГаОДЕйстайв„:НЕПРИМЕРг Иод»"ОЕРЕЕРа,ИЛИ:РааЛИЧ .
имх клйентскик прогрбмм авета ох 0У6Д бой Яебгег;.'убтаноаленнейиа другом комоь1отере, то: несобходймо ийотелйисргоазать по Крайней:.,мере еще одн1кбиблаотеКу йеФЬ, Чтобьг узнать, по каким протоколам сервер может принимать запросы на установление соединения, необходимо развернуть узел РГОтОСО1В тОГ МЯЯО1 ЯЕВЧЕВ, находящийся под узлом ЯС11. Яегчег 2005 1четттогК Сопбригатгоп (рис. 2.4).
Следует учитывать, что клиент может установить соединение с сервером, только если сервер принимает запросы на установление соединения по такому же протоколу, по какому пытается с ним взаимодействовать клиент. При этом в клиентском программном обеспечении должен быть правильно указан порт. Поэтому если в сети используется программное обеспечение Машей Ргрез, то необходимо ввести в действие библиотеку Машей Р1рек Для этого следует снова перейти к дереву Рготосо1в, щелкнуть правой кнопкой мыши на обозначении протокола Нашей Р1рез и выбрать команду ЕпаЫе. Рис. 2.4. Узел Рготосо!з гог МЯЯс1сЯЕ1тЧЕВ 60 Глава 2 Напрашивается воп(гос, почему бы фазу не раз)зешить применение всех возможных тгйзиотек №ШЬ т В тохом случае не п(зналось бы задумьсваться над тем, введена ли в действие нужная бийгиотеха.
Но п)т этом необходимо учитывать ту же рекомендацию, которая касается дописки тельного подключения к сфвфу лгобьлх компонентов, — не слгдует устанавливать ненужные компоненты, поскольку из за них увеличиваются изде)гжки. В данном случае ввод в дейопвие нешпользуемых п(зотоколов гг(гиведегл к замедлению работы сфвфа (не очень значительному, но здесь важна каждая мелочь), К тому же появятся дополнительные возможности пдонихновения в система что может привести к на(гушению защитьг (зачем оставлять еще одну двфь отгфзятой, есаи ею пихто не соби~аеглся пользоваться).
Ниже рассматриваются поддерживаемые протоколы и приведены причины, по которым следует выбирать тот.или иной протокол. Протокол Иатеб Р)рев Протокол (чапзес) Р(рез может оказаться очень полезным, если не применяются протоколы ТСР/1Р или отсутствует сервер )зХЯ (1)огпа(п Халупе Яегт(се — служба доменных имен), позволяющие находить серверы в сети ТСР/1Р по именам.
Говори Фодмапьйо; ймеегой его(е аоздолиость'подювочитьФцс серсееру3Ж$епгагхс помо-. щьЮ: прстоколоа ТСР)))Р, указав )р.~дсрас етого царвера вмсесгто и)аеии.' Такой сродоб Орга""иизаиии' доступа всегда,'.остаетси,пдимеииммм'„,даже"еопЙ ие фуикпиониауат'спуягба Ова: и'ие дримейиютси,другие'С))едсгаа преобразований: сатеаыкгимей,.а сетаауиеядресса при.,' , усйоаьии; что сущегствуаст маргасгруг от' клиента к'серверу"(еслй задан)Р:-аддес,:то имдя не ' трабцетсиг но йуна'примейяютсд ради удобства). Протоколы ТСР/)Р Протоколы ТСР/1Р фактически рассматриваются как стандартный набор сетевых протоколов и применяются по умолчанию в составе программного обеспечения зЯ).
Бегтег, начиная с версии БЯ). 5егтег 2000. Кроме того, если требуется обеспечить подключение клиентской программы к СУБД ЬЯ1. Бегтег через сеть Интернет (в которой, безусловно, используется только протокол 1Р), то единственный вариант состоит в использовании набора протоколов ТСР,г1Р. Не оидует путать задачу обеспечения взаимодействия сфвера базы данных с У(ейсфвфолс и задачу гредоставления доступа х сфверу базы даннзях через Интфнет. В отфеделенных конфиг)рациях и)зог)замчного обеспечения может быть пдед)смотдено тфименение %ейсфвфа, доопуп к хотодому п(гедоставляется чфез Икте(гнет, п)шток что Яеб.сфвеф взаи.подействует с сфвфом базы данных, непофедственныи доступ к хотфому че)юз Инте)ггсет невозможен (в таком случае единственньсй способ получения доступа к данным с полсощью сфвфа базьл данных состоит в использовании соединения Интфнет, с помощью которого осуществляется взаимодействие с Ней-се)гвфом).
Если п(гедусмотрена возможность подключения к сфвфу базы данных непофедппвенно чеРез Интфнет, то защита данных подвфгается весьма сфьезной опасности. Если все-таки п(заходится применять такую фга низа цию )габоты (и на это есть сфьезные гфичи ни), то следует уделять особое внимание пдименению всех пдедостфожностей п(зашив надушений защитьс. Доступные инструментальные средства б1 Протокол Вг) атей Метоту Если используется протокол доступа к разделяемой памяти (Язагес( Мешогу), то исключается необходимость преобразовывать информацию, которой обмениваются клиентская и серверная программы, в форму, применимую для передачи по сети, поскольку обе эти программы эксплуатируются на одном и том же компьютере. Клиентская программа имеет непосредственный доступ к тому же файлу, отображаемому в память, в который серверная программа выводит данные.
В результате этого исключаются значительные издержки и быстродействие существенно повышается. Безусловно, такая организация работы применима, только если клиентское приложение обращается к серверу локально (скажем, с помощью зУеЬсервера, инсталлированного на том же серверном компьютере, где находится база данных), но при этом могут достигаться существенные преимущества с точки зрения производительности. Применение протоколов в клиентском приложении Выше в данной главе описаны все применимые протоколы и показано, по каким критериям может осуществляться выбор среди этих протоколов.