Огляд AD0.NET – ЧАСТИНА 1

Зберігаючи традиції доступу до даних компанії Microsoft, пакет ADONET 20 створений на основі існуючих технологій доступу до даних З виходом у світ SQL Server версії 11 в цих традиціях проявилися деякі загальні напрямки розвитку Кожне наступне покоління продуктів робило зєднання програми до даних простіше, ніж у попередньому, при цьому розширюючи список доступних засобів і забезпечуючи більшу гнучкість Всі ці поліпшення завжди вели в бік основних цілей сучасного програмування-використання розподіленої структури обчислень, багаторівневою і клієнт-серверної архітектури, а також архітектури, заснованої на службах (SOA), у тому числі на Web-службах З кожним новим кроком технологія доступу до даних прагнула усунути проблеми, виявлені у своїх попередників, в таких областях, як підтримка посилальної цілісності, продуктивності і надійності додатків

У кожній новій версії SQL Server всі старі технології зберігали свою силу, одночасно доповнюючи новими Тільки в дуже рідкісних випадках доступ даних зазнавав революційні зміни SQL Server 2005 в цьому відношенні не став винятком З виходом цієї версії інтерфейс бібліотеки DB відійшов у минуле

Бібліотека DB більше не підтримується у версії SQL Server 2005, а біб-Рада лиотека MDAC (Microsoft Data Access Components) вважається застарілою Ком

панія Microsoft більше не пропонує засоби розробки додатків, що використовують бібліотеку DB Якщо таке можливо, DB-додатки слід оновити У той же час існує можливість продовжити використання старих додатків в SQL Server 2005 Для цього необхідно скопіювати динамічну бібліотеку ntwdblibdll з носія установки попередньої версії SQL Server на клієнтський компютер Цей файл потрібно скопіювати в каталог програми, що використовує бібліотеку DB, або в папку, вказану в рядку змінної середовища% РАТН%

Вихідна, або класична, бібліотека ADO вже застаріває і не підтримується новим клієнтом SQL Native Client Для посилань на цей новий інтерфейс програмування в документації компанія Microsoft використовує абревіатуру SQLNCLI У той же час користувачі віддають перевагу більш короткої абревіатурі SNAC

Бібліотека ADO поставляється зі старими бібліотеками MDAC, до того ж у неї збереглася можливість доступу до баз даних SQL Server 2005 Однак нові засоби SQL Server 2005 більше не доступні для даної бібліотеки, тому в нових додатках краще її не використовувати Тому сплануйте, як краще замінити або оновити додатки, що використовують бібліотеку ADO і лежить в її основі технологію COM (Component Object Model) У майбутніх версіях SQL Server не підтримуватиме ні ADO, ні СОМ

У цьому розділі будуть описані дії, які слід вжити для підготовки до відмови SQL Server від підтримки цих технологій Кількість існуючих додатків, що використовують ADO, настільки велике, що навряд чи можна очікувати найближчим часом, що ця технологія зійде з арени Незважаючи на те що зараз настійно рекомендується створювати додатки, що використовують модель з архітектурою, орієнтованої на служби (SOA), і технологію ADONET 20, для підтримки та обслуговування існуючих додатків необхідно також бути добре знайомим і з усіма попередніми версіями ADO і ADONET

Технологія ADO принесла в платформу розробки додатків Windows небачені раніше швидкість і гнучкість звернення до даних і маніпулювання ними Починаючи з ADO і заснованих на технології СОМ інтерфейсів OLE DB, розробники отримали можливість роботи з гетерогенними джерелами даних – від документів до баз даних – за допомогою єдиної заможної методології Технологія ADO абстрагувати потужні, але складні компоненти СОМ і інтерфейси OLE DB в просту і дружню обєктну модель, що дозволяє великому числу програмістів і Web-розробників створювати якісні програми

ADO

Навіть сьогодні ADO залишається технологією доступу до даних, заснованої на компонентах СОМ Дуже важливо усвідомлювати, що компоненти Object Linking and Embedding (OLE DB) оточували нас з перших днів існування платформи Microsoft Windows З тих пір багато чого змінилося Найпомітнішими подіями були публікація специфікації СОМ і зовсім недавнє переміщення доступу до даних з рівня операційної системи на рівень загальномовного середовища виконання CLR У той же час багато чого залишилося незмінним Незважаючи на стрімкі зміни в світі баз даних, прийняття спільнотою розробників ранніх версій OLE і СОМ тривало досить довго Тільки після цього можна було досягти досконалості Хотілося б сподіватися, що проникнення в маси технології NET буде не настільки довгим, і на гребені хвилі вона протримається набагато довше Хоча компанія Microsoft запевняє, що двійковий стандарт СОМ переживе наступні версії системи Windows, велика ймовірність того, що він поступово відійде в небуття Поступальний рух у бік переміщення даних за допомогою XML залишає технологіям СОМ і ADO тільки шанс грати ролі другого або третього плану

Характерним сигналом щодо цього стало те, що з виходом версії ADONET 20 компанія Microsoft рекомендує реалізувати високорівнева доступ до даних в ADO тільки за допомогою первинної interop-збірки (PLA) (AD0DB dll) На рис 301 показано, як ця збірка представляє некеровані компоненти СОМ в керованому середовищі NET Програмний код ADO, по суті, залишається незмінним, проте управлятися загальномовних середовищем виконання CLR він буде через PLA, а не на рівні операційної системи Це не диктує необхідність великих змін в старих реалізаціях, що використовують ADO, хоча деякі зміни все ж доведеться внести Це не означає, що сучасні реалізації ADO при їх створенні в середовищі NET відрізнятимуться від попередніх Наприклад, у рядку підключення раніше необхідно задавати конкретного постачальника OLE DB також необхідно знати інтерфейси і вимоги кожного з них З іншого боку, вступають в гру конструктори і прибирання сміття, система безпеки і перевірка типу середовища виконання

У цій моделі проблеми додатків можуть привести до нестійкості операційної системи У SQL Server 2005 технологія ADO використовує збірку adodb dll для підтримки свого програмного коду при забезпеченні безпеки клієнта керованого середовища NET Framework Клієнт SQL Native Client (SNAC) оптимізований для доступу до SQL Server, оскільки він безпосередньо взаємодіє з мережевими службами

Рис 30L Некеровані інтерфейси ADO використовують рідні служби MDAC для доступу до даних

Першочерговим завданням програмістів є переведення програмного коду на рейки ADONET 20 Для полегшення цього переходу використовуйте пропоновану первинну interop-складання Наприклад, як варіант можна розглянути поетапний підхід до оновлення додатків до ADONET 20 Розумний сценарій припускає використання в додатках ADO збірки adodb Dll, що вимагає мінімальних змін в програмному коді При цьому додаток отримує можливість переміщати структури з бази даних в набори даних NET і потоки XML Як тільки структури виявляються у клієнта, відкриваються можливості для кешування та управління даними на стороні клієнта, так само як і для використання архітектур, орієнтованих на служби Як результат, ми отримуємо більш надійне додаток

При перекладі додатків, що використовують ADO, на рейки NET Framework НЕ-Рада обходимо обдумане планування Компанія Microsoft в цьому відношенні по

могла розробникам тим, що опублікувала в Інтернеті свої рекомендації щодо переходу від ADO до ADONET У липні-серпні 2004 року журнал для розробників сайту MSDN опублікував статтю Джона Папа Migrating from ADO to ADONET . Ця та багато інших статті з цього інформативного журналу доступні безкоштовно на сайті

http://msdnmicrosoftcom/msdnmag/defaultaspx Перша частина вищезгаданої статті знаходиться за адресою

http://msdnmicrosoftcom/msdnmag/issues/04/07/DataPoints/ defaultaspx

Друга – за адресою

http://msdnmicrosoftcom/msdnmag/issues/04/08/DataPoints/ defaultaspx

Читачам може також виявитися корисною інформація з інтерактивною бібліотеки MSDN:

http://msdnmicrosoftcom/library/defaultasp

На закінчення, при плануванні переходу від ADO до ADONET не забудьте заглянути в утиліту SQL Server Books Online У міститься в ній статті Updating an Application to SQL Native Client from MDAC перераховано безліч потенційних проблем, яких можна уникнути, якщо ідентифікувати їх на ранній стадії міграції

З моменту виходу в світ ADO для підтримки, обслуговування та розширення існуючих додатків, що використовують ADO, стало не обовязково бути просунутим програмістом СОМ або OLE DB У той же час для підтримки і налагодження багатьох питань, повязаних з ADO, корисно мати чітке розуміння механізму роботи компонентів СОМ і інтерфейсу OLE DB Знання та досвід роботи з ADO може стати в нагоді і в роботі з ADONET Наприкінці решт, ADO є базисом, на якому побудована ADONET аналогічно, OLE DB є основою ADO Розуміння OLE DB допоможе вам у роботі як з ADO, так і з ADONET

OLE DB

Ключем до розуміння OLE DB є метафори споживача і постачальника, що використовуються для опису цієї технології OLE DB – це метод підключення даних постачальника до додатка, потребляющему ці дані Для створення деяких поширених підключень між різними постачальниками і споживачами повинні бути виконані чітко окреслені дії OLE DB являє собою компонент СОМ СоТуре, або повязану групу інтерфейсів СОМ, які описані в розкривається ієрархії, яка визначається властивостями і керованої подіями У загальному випадку OLE DB намагається доставити рядки і стовпці даних споживачам Деякі постачальники не повною мірою відповідають даному опису Ієрархія СоТуре є своєрідним трапом, за яким різні типи даних можуть підніматися з невідомих джерел даних до споживача, починаючи з різних сходинок трапа і закінчуючи точкою доставки, відомої як CoCreateInstance Кожну сходинку цього концептуального трапа можна розглядати як споживача нижньої сусідній сходинки і постачальника верхньої Ці переходи в сукупності називають інтерфейсами Всі інтерфейси є спадкоємцями фундаментального інтерфейсу IUnknown Це демонструє корисність і можливість повторного використання компонентів, оскільки всі компоненти СоТуре аналогічні за формою, навіть якщо сильно відрізняються функціонально Це легко можна підтвердити, якщо взяти до уваги структурні подібності між різними обєктами ADO На найпростішому рівні кожен обєкт має властивості і методи і бере участь в ієрархії членів

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*