У рамках теми доповіді будуть розглянуті наступні питання:
1. Створення курсорів та їх використання.
2. Доступ до баз даних SQL Server за допомогою додатків клієнта.
3. Перехід від додатків Microsoft Office 97 до SQL Server.
Створення курсорів та їх використання
Можливо найкращий засіб, доданий корпорацією Microsoft в SQL Server 6.0, - це підтримка курсорів сервера. За допомогою курсору можна обробляти окремі рядки в наборі, що не відбувається при звичайному застосуванні команд SQL, які працюють для всіх рядків у наборі одночасно.
Розробники Microsoft додали повну реалізацію курсорів сервера, якими управляє база даних. Доступ до курсора легко видається за допомогою інструментів розробки клієнтських додатків і платформ, таких як SQLWindows або PowerBuilder. У попередніх версіях SQL Server теж можна було застосовувати курсори, але вони підтримувалися рівнем DBLibrary (мережевий бібліотеки), а не сервером. З цієї причини в документації Microsoft нові курсори називаються курсором сервера (back-end cursors).
Курсор дозволяє виконувати обробку результуючого набору всередині сервера без втручання клієнтської програми для керування робочим набором даних. Наприклад, до появи SQL Server 6.0 було дуже складно написати високопродуктивне додаток, що виконує безліч дій з набором даних, оскільки передача даних у клієнтську програму проводилася по одному рядку. Програма клієнта несла відповідальність за ініціювання подальшої обробки кожного рядка. Курсор надає можливість більш вдосконаленого використання збережених процедур Transact-SQL. Описаний вище алгоритм обробки рядків реалізується без повернення до клієнта.
Курсори можуть сильно сповільнити продуктивність додатку. За своєю природою вони виконуються значно повільніше, ніж стандартні операції, засновані на наборі даних. Перед тим як приступити до розробки курсорів необхідно переконатися, що не можуть бути застосовані ніякі інші операції з набором даних. Слід взяти до уваги не тільки легкість використання курсорів, але також і можливості зменшення продуктивності внаслідок їх застосування.
Відмінність між курсором сервера і клієнта
У SQL Server доступні два типи курсорів: курсори клієнта (front-end or client cursors) і курсори сервера (back-end or server cursors). Існуюче між ними відмінність має важливе значення.
При написанні програми дуже часто з'являється необхідність виконати певну операцію на наборі даних. Для цього звичайно застосовується інструкція Update при зміні даних або інструкція Delete при видаленні даних. Ці операції з наборами даних звичайно забезпечують високу гнучкість у додатках, де пропозиція where може відповідним чином визначити потрібну задачу.
Припустимо, що в базі даних Pubs ви хочете змінити поштовий індекс на 94024 для всіх авторів, які живуть в Menlo Park. Для цього можна застосувати просту інструкцію Update, наведену нижче:
Update AUTORS
Set ZIP = '94024 '
Where City = 'Menlo Park'
Go
C іншого боку, що якщо необхідно виконати різні види операцій па наборі даних? Можливі два рішення: можна виконати безліч операцій на ексклюзивних наборах або можна отримати повний набір даних і на підставі величин в цьому наборі виконати необхідні операції. Друге рішення є концепцією, що лежить в основі обробки за допомогою курсору.
Відновлення й видалення наборів даних на сервері може бути недостатньо, тому що оновлення можуть проводитися в одній і тій же рядку кілька разів. В якості альтернативи в базі даних може бути створений вид, що зветься курсором.
Найбільша перевага обробки за допомогою курсору полягає в можливості виконати умовні операції на певній рядку даних у наборі, незалежно від інших рядків цього набору. Команди SQL виконуються на наборі даних, що складається з одного рядка. Складні програми часто вимагають подібної деталізації при обробці. Крім того, ця деталізація має кілька позитивних моментів:
* Продуктивність. Операції, засновані на наборах даних тяжіють до застосування великих серверних ресурсів, ніж операції курсору.
Кращий контроль транзакцій. При обробці набору даних можна контролювати, що відбувається з будь-якою даної рядком незалежно від інших.
* Спеціальний синтаксис. Курсори дозволяють позиціонувати оновлення та видалення, які застосовуються до рядків, обраним в даний момент. Такі курсори безпосередньо знаходять рядки таблиці, тому зникає необхідність індексування.
* Ефективність. При виконанні декількох операцій на великому наборі даних, такому як виклик безлічі збережених процедур, краще, коли база даних обробляє дані і виконує всі дії з кожним рядком. Це більш ефективно, ніж виконання кожного із завдань послідовно по всьому набору даних. Причини ефективності полягають у кешуванні даних.
Поняття курсору клієнта
Перед тим як був створений SQL Server 6.0, розробники Microsoft прийшли до висновку, що клієнтам необхідно надати можливість обробляти дані і пересування вперед і назад по результуючий набір. Користувачі потребували ці засоби для підтримки комплексних програм, які використовувалися під час перегляду інформації, вибраної з бази даних.
Корпорація Microsoft не могла включити до SQL Server більш ранніх версій курсори сервера, які підтримують деякі інші виробники, тому було прийнято рішення змоделювати деякі з функцій курсору в інтерфейсі програмування клієнтських додатків для бази даних SQL Server - DBLibrary.
Корпорація Microsoft успадкувала інтерфейс клієнта DBLibrary, що дозволяє взаємодію з базою даних SQL Server, від Sybase. DBLibrary - це набір команд і функцій, якими можна користуватися в середовищі мови програмування С для виконання операцій з базою даних. У SQL Server 6.0 і в наступних версіях розробники Microsoft змінили інтерфейс DBLibrary до бази даних на інтерфейс ODBC.
Для отримання подібної функціональності розробники Microsoft додали курсори до розділами даних на стороні клієнта.
Ці курсори працюють за допомогою DВLibrary дозволяє звичайне взаємодію з базами даних: зчитування інформації з потоку даних таблиці (Tabular Data Stream, TDS) виконується настільки швидко, наскільки вимагає клієнт. TDS - це метод зв'язку застосовується DBLibrary для вибірки інформації з бази даних. Зазвичай DBLibrary передає всю інформацію, яка була обрана з бази даних, додатку клієнта, яке, у свою чергу, виконує додаткову роботу. За допомогою курсорів DBLibrary кешує ці записи сама, до того, як клієнт не скасує перегляд даних за допомогою курсору.
Подібне кешування має кілька обмежень:
* SQL Server не володіє засобом контролю або мінімізірованія блокувань, які встановлюються в базі даних. Тому в курсорі блокування встановлюються на всі сторінки даних, а не лише на ті, де виконується оновлення. Це відбувається тому, що SQL Server не може встановити, які ще операції, крім інструкцій select, виконуються в базі даних.
* При роботі з великими наборами даних, кешування може дуже швидко поглинути ресурси на стороні клієнта.
* При обробці великих обсягів даних кешування неефективно, тому що всі дані, які беруть участь в обробці, пересилаються по мережі.
До моменту, поки корпорація Microsoft не розробила курсори сервера, це засіб SQL Server залишалося суто декларативним і не було призначене для серйозного застосування. Курсори сервера володіють всіма перевагами курсорів клієнтів, але позбавлені характерних для них накладних витрат і обмежень. Крім міркувань зворотної сумісності, інших вагомих причин застосування курсорів клієнтів у додатках SQL Server 6.5 не існує.
Застосування курсорів сервера включає в себе п'ять станів, описаних нижче:
Стан Пояснення
DECLARE На цьому етапі SQL Server перевіряє, вірний курсор вибере потрібні для запиту дані. SQL Server створює в пам'яті поділювану структуру, яка містить визначення курсору, необхідне для компіляції на етапі open.
OPEN SQL Server починає відповідати на виконання інструкції declare. Він розпізнає запит і заносить ідентифікатори рядків у тимчасову робочу область, яка буде використовуватися клієнтом при зчитуванні ідентифікованих курсором рядків.
FETCH У цьому стані курсор повертає дані, необхідні для виконання будь-якої необхідної операції.
CLOSE SQL Server закриває відкритий раніше курсор і звільняє будь-які блокування, які могли бути встановлені в результаті його відкриття.
DEALLOCATE SQL Server звільняє поділювану пам'ять, використовувану інструкцією declare, не дозволяючи більше інших процесів виконувати інструкцію open.
Для роботи з курсором SQL Server необхідно слідувати станам, описаним вище. Спочатку необхідно оголосити (declare) курсор. Потім ви можете його відкрити (open) і вважати дані (fetch). При зчитуванні даних (стан fetch) можна виконати з активною рядком кілька операцій. Завершивши роботу з курсором, ви повинні закрити (close) його і звільнити пам'ять (deallocate). Це робиться для того, щоб SQL Server не витрачав ресурси на управління непотрібним курсором.
Практичне тестування
На перший погляд здаються курсори потужним засобом програмування додатків. Звичайно, вони надають додаткам розвинену функціональність, призначену для перегляду даних. при цьому усувається необхідність в програмуванні подібних функцій на стороні клієнта.
Застосування функцій курсорів сильно скорочує час розробки додатків, але при цьому сильно падає продуктивність системи. хоча реально вироблений ефект в значній мірі залежить від конкретної реалізації, включай і апаратуру, на якій працює сервер, курсори можуть дуже сильно зменшити швидкість роботи програми.
Доступ до баз даних SQL Server за допомогою додатків клієнта
У SQL Server 6 корпорація Microsoft почала постачання нового інтерфейсу з клієнтом, що працює за допомогою ODBC. Замість використання старого розробленого Sybase підходу, який передбачає застосування DBLibrary, тепер з'явився новий шлях доступу - через ODBC.
Так як корпорація Microsoft є власником специфікації ODBC, для неї не склало великих труднощів переробити і оптимізувати продукт для доступу до SQL Server. Новий інтерфейс повністю позбавлений проблем, пов'язаних з падінням продуктивності, завжди асоціювалася з ODBC. Корпорація Microsoft все ще підтримує інтерфейс DBLibrary, але тільки для зворотної сумісності. Але в даний час інтерфейс ODBC стає стандартом для доступу до баз даних.
Конфігурування ODBC для SQL Server
Інтерфейс ODBC - це спосіб з'єднання різних сервісів даних з різними додатками клієнтів універсальним чином. З моменту його появи на ринку в 1991 році, ODBC зазнав значних змін.
Конфігурування інтерфейсу ODBC виконується за допомогою аплету в Control Panel: ODBC або ODBC32. Процес встановлення конфігурації ODBC для Windows NT Workstation чи Server версії 4.х (або вище) і для Windows 95 ідентичний. У Windows NT Workstation чи Server версії 3.51 (або менше) інформація діалогового вікна залишається тією ж самою, хоча можуть бути відмінності у виділенні значень м розташуванні опцій close/minimize/restore.
Для конфігурації ODBC при роботі з Microsoft SQL Server 6.5 виконайте наступні дії:
1. Встановіть драйвери ODBC, які поставляються з SQL Server 6.5.
2. З меню Start виберіть Settings, Control Panel.
3. Виберіть мишею піктограму ODBC. З'явиться конфігураційне діалогове вікно.
4. Нові джерела даних, доступ до яких надається за допомогою ODBC, додаються в діалоговому вікні Add Data Source. У діалоговому вікні Data Source натисніть кнопку Add.
5. Виберіть зі списку SQL Server та натисніть кнопку OK. З'являється діалогове вікно ODBC SQL Server Setup.
6. Введіть ім'я джерела даних, наприклад, LocalServer. Ім'я може бути будь-яким поєднанням дозволених символів, що несе певну інформацію про джерело даних.
7. Введіть опис типу даних ODBC - MS SQL Server 6.5. Це необхідно для вирішення питання який джерело даних надає цей сервіс ODBC без використання імені цього джерела.
8. Введіть ім'я SQL Server, де знаходяться дані. Якщо SQL Server працює локально на Windows NT, можна ввести (local). Драйвер ODBC знайде сервер за допомогою протоколу іменованих каналів.
9. Введіть мережний адресу або мережеву бібліотеку, якщо адміністратор мережі/бази даних вказує, що це необхідно зробити. Зазвичай ця установка може бути залишена зі значенням "Default" і драйвер ODBC знайде сервер при першій приєднання.
10. Введіть ім'я бази даних, до якої повинен приєднається сервіс ODBC. Деякі програми - клієнти ODBC - не мають можливість змінювати робочу базу даних за допомогою команд ODBC. Тому може виникнути необхідність визначити джерело даних для кожної робочої бази даних, встановленої на одному і тому ж сервері.
11. Вкажіть мову та кодової сторінки повинні бути залишені без змін, якщо не існує вагомої причини для їх зміни.
12. Для того, щоб додати нове джерело даних, натисніть кнопку OK. До переліку доступних джерел даних буде доданий новий сервер.
Використання продукту Delphi 2 виробництва компанії Borland
Продукт Delphi 2 виробництва компанії Borland - це потужний інструмент розробки додатків клієнта в архітектурі клієнт/сервер, який допомагає полегшити роботу з джерелами даних ODBC. Продукт Delphi 2 заснований на Pascal і є самою останньою версією, яка була випущена в 1996 році (на даний момент існує версія 3 цього продукту). Програмна система Delphi 2 є середовищем розробки, що підтримує 32-розрядну архітектуру. Його високо цінують за легкість в роботі та інтеграції.
Встановлення з'єднання
Продукт Delphi 2 має власні драйвери для SQL Server 6.5, що працюють з Microsoft ODBC. Найпростіший спосіб підготовки Delphi 2 для роботи з базою даних полягає в застосуванні аплету Database Explorer, що поставляється разом з Delphi 2.
Для підготовки інтерфейсу ODBC за допомогою Database Explorer активізуйте Delphi і виберіть Database, Explorer.
З меню Object виберіть New. Виберіть конфігурацію SQL Server.
Виберіть мишею редаговану частина властивості DATABASE NAME в правій панелі і введіть ім'я робочої бази даних.
У властивості USER NAME введіть ім'я користувача, який буде приєднуватися до цієї бази даних за замовчуванням. Крім того, для списку властивостей діалогового вікна поновіть установки драйвера ODBC.
З меню Object виберіть Apply. Активізується робоча база даних. Ви помітите, що стрілка, яка вказує неактивну робочу базу даних, зникне.
Переконайтеся, що все встановлено правильно. Потім виберіть мишею знак плюс, що знаходиться ліворуч від імені псевдоніма бази даних. Відкриється вид Explorer. Тут буде відображено вікно Database Login.
Введіть пароль системного адміністратора. Розкриється дерево Explorer. Воно містить різні компоненти SQL Server, доступні для маніпуляції за допомогою SQL Server.
Поняття про модель бази даних Delphi 2
Для побудови інтерфейсу з базами даних Delphi 2 застосовує рівневий підхід. Він передбачає наявність кількох рівнів абстракції від бази даних, що дозволяє сформувати загальний інтерфейс для прикладного програмування, що складається із загальнодоступних і знайомих об'єктів.
Продукт Delphi 2 містить певне число класів, що використовується для роботи з даними. Ці класи відповідають за виконання запитів, що здійснюють необхідне маніпулювання інформацією. Класи, які можуть бути застосовані для цих цілей варіюються від TTable, що представляє таблицю, до TQuery, активізує індивідуальний запит, пов'язаний з елементами управління, складовими інтерфейс користувача.
Класи інтерфейсу з даними зазвичай у формі не видно. Фізичний джерело даних звичайно зв'язується з певним класом, який відповідає за взаємодію з об'єктами/елементами управління інтерфейсу користувача, такими як поля та списки. Ця взаємодія здійснюється через не візуальний клас TDataSource, який передає дані з класу фізичних даних у візуальні об'єкти та елементи керування, пов'язані з даними (data-bound controls), які поміщені у форму редагування.
Маніпулювання даними за допомогою класів TQuery або TTable складається у вибірці записів, їх оновлення і так далі. Подібні операції можуть бути виконані за допомогою методів, які мають дані класи або шляхом додавання до форми редагування елемента керування типу Navigation. TDBNavigator - це клас, який взаємодіє з TDataSource і містить стандартні кнопки маніпуляції даними в формі: Next, Previous, Insert і Update. Помістивши один з цих елементів керування у форму редагування та зв'язавши його (на етапі розробоктки, встановивши його властивість або на етапі виконання, переустановіть властивість на необхідний у формі джерело даних), ви отримаєте всі необхідні компоненти для побудови вікна редагування структури даних. Ця структура може бути або запитом. або таблицею бази даних.
Нарешті. в Delphi 2 існує необхідність у формуванні елементів керування, призначених для перегляду або редагування даних. Delphi 2 містить всі стандартні елементи керування для редагування, включаючи списки і вікна зі списком, які можуть бути пов'язані з певним TDataSource. Необхідно тільки помістити елемент керування у форму і встановити властивості DataSource і DataField.
Використання Microsoft Visual Basic 4 і 5 версій
Visual Basic 5 (VB5) - це найбільша остання версія стандарту BASIC корпорації Microsoft. З появою VB5 почалося широкомасштабне включення VB в інші середовища розробки додатків, такі як PowerPoint, Excel і Word. Крім того, VB5 забезпечує зв'язку додатків і програмних інструментів з Internet.
Як інструмент VB5 має великий набір функцій і величезна кількість установок. Крім того, цей продукт включає кілька майстрів з генерації форм, що дозволяють створювати деякі загальні форми, що застосовуються в якості бази розробки.
VB5 також підтримує роботу з об'єктними бібліотеками, призначеними для доступу до SQL Server. Це дуже важливі можливості, що забезпечують потужну базу для розробки додатків клієнт/сервер.
Поняття про модель бази даних Visual Basic
Visual Basic і Delphi 2 мають схожі методи доступу до даних. Доступ контролюється об'єктом даних, що знаходяться у формі. На відміну від Delphi, VB не застосовує достеменно не візуальних класів об'єктів або контейнерних класів. Замість цього є засіб, що дозволяє змінити видиме властивість і приховати його у разі потреби.
У VB з базами даних можна працювати кількома різними шляхами. По-перше, якщо необхідно отримати набір полів. пов'язаних з базою даних і з'єднання, за допомогою якого виконується автоматичне оновлення цих полів, можна застосувати елемент управління, пов'язаний з даними. Подібний елемент управління дозволить вказати властивості з'єднання і потім зв'язати елементи управління форми з цим елементом управління та асоційованими з ним стовпцями.
Інші альтернативи роботи з базою даних в VB включають використання об'єктів та їх асоційованих властивостей, колекцій і так далі.
Перехід від додатків Microsoft Office 97 до SQL Server
Набір програм Microsoft Office 97 надає засоби розробки додатків, заснованих на що входять до нього інструментах. Тепер в Office 97 можна працювати з Visual Basic у кожному з програмних продуктів набору - від Word до Excel і Access. У кожній з цих середовищ за допомогою VB ви маєте можливість розробляти повноцінні програми.
Далі мова йтиме про взаємодію з SQL Server, а не управлінні самим сервером. Доступ до SQL Server може бути більшою мірою стандартизований за допомогою об'єктів доступу до даних (Data Access Object). При роботі з Access слід брати до уваги спеціальні міркування. Коротше кажучи, можливість роботи з даними в SQL Server завжди буде гарним доповненням до вашого додатку. Крім того, застосовуючи для роботи з інформацією технологію клієнт/сервер, можна збільшити потужність обробки даних, надавши вашому додатку доступ до SQL Server.
Перехід від Access до SQL Server
Інструмент переходу допоможе перенести схему бази даних в SQL Server, перемістивши таблиці і відносини в об'єкти, засновані на SQL Server. Утиліти перенесуть таблиці на сервер, оглянувши їх і створивши необхідні індекси та інші об'єкти, що підтримуються в системі. Крім того, можуть бути створені тригери для збереження правил цілісності відносин, які застосовуються в Access.
У результаті в Access утворюється система, яка містить зв'язані таблиці, які посилаються на таблиці в SQL Server.
Майстер не створює збережених процедур, які здійснюють ті ж операції, які виконувалися при маніпулюванні даними в коді Access Basic. У цьому випадку необхідно ознайомитися з додатковою інформацією, що стосується збережених процедур і порівняти ті кошти, якими вони володіють з операціями. виконуваними в коді Basic, де це можливо, намагайтеся перенести інструкції маніпуляції даними в збережені процедури.
Використання Microsoft Access c SQL Server
Продукт Microsoft Access дає можливість застосовувати при розробці велика кількість доступних для тестування та реалізації засобів SQL Server. Так як Access має більш слабким ядром і не є системою клієнт/сервер, його застосування як системи сервера у великих проектах вельми обмежена. Але Access все-таки являє собою потужне середовище розробки при роботі з базою даних.
Access містить гарний інтерфейс користувача. за допомогою якого можна розробляти таблиці і встановлювати відносини між ними. Існують відмінності в тому, як Access працює з базами даних, включаючи й аспекти фізичного зберігання даних. При деяких питань може відрізнятися термінологія. Нижче наведені деякі приклади подібних відмінностей:
* У Access не існує поняття пристрої бази даних, як у SQL Server. Грубим подобою пристрої бази даних SQL Server може служити пристрій жорсткого диска, на якому створена база даних. Бази даних в Access - це окремі файли, зазвичай мають расшіреніе.MDB.
* У Access види називаються запитами. Так само, як і в SQL Server ви можете створити оновлювані запити, вибирати рядка за допомогою запитів і створювати багатотабличних об'єднання, на базі яких будувати комбінує запити.
* У SQL Server індивідуальний стовпець становить певний елемент даних усередині рядка. У Access рядками називають набори елементів даних, а стовпці називають полями.
* Типи даних в Access і SQL Server у багатьох випадках мають різну назву і різні характеристики.
Існують і інші відмінності, але наведені вище є основними. Їх знання допоможуть при використанні SQL Server і Access. Якщо програма працює в Access, воно представлено шістьма різними елементами. Для того, щоб отримати поняття про різних компонентах Access і прийняти рішення про їх перенесення в систему SQL Server, розглянемо наступну таблицю:
Елемент Опис і застосування
Таблиці Те ж, що і в SQL Server. Це можливо найбільш важливий елемент, який буде перенесено. Таблиці містять рядка з інформацією, яку ви хочете конвертувати в SQL Server.
Запити Запити повинні бути перенесені і конвертовані, але це буде в основному завдання, що виконується вручну. Це означає, що необхідно переглянути код, який лежить в основі кожного запиту і створити в SQL Server відповідний вигляд.
Форми Форми не конвертуються в SQL Server. У моделі клієнт/сервер додаток клієнта відповідає за управління інтерфейсом користувача. Сервер відповідає за управління обробкою даних.
Звіти Так само, як і форми, звіти не будуть конвертуватися в SQL Server. Виключення складає звіт, заснований на запиті. Access дозволяє у звіт включати запит. Для отримання найкращих результатів слід переглянути властивості звіту, конвертувати вбудований запит і сформувати з нього вид в SQL Server. Потім у запиті звертатися до нового виду. Продуктивність збільшиться, а звіт буде працювати так само. як він працював із вбудованим запитом. Але в результаті ви отримаєте реалізацію звіту в системі клієнт/сервер.
Макроси Макроси - це елемент жорстко пов'язаний з Access. Макроси можуть викликати запити і виконувати деякі високорівневі команди, які повинні бути переглянуті. Так само, як і в ситуації із запитами, які можуть бути переміщені в SQL Server для збільшення продуктивності.
Модулі Рішення про перенесення модулів рідко приймається автоматично. Це означає, що кожна процедура і підпрограма переноситься окремо, після ретельної оцінки необхідності цього кроку. При перенесенні модулів ви маєте в своєму розпорядженні кількома варіантами. Підпрограму можна конвертувати в збережену процедуру, вид або динамічний запит. Це повністю залежить від тієї обробки, що виробляється в базі даних. Пам'ятайте про необхідність внесення змін в короткі пакети команд і продовження тестування. Перед переходом до наступного етапу конвертування дуже важливо ретельно протестувати ті функції системи, з якими ви почали працювати.
Створення додатків клієнт/сервер за допомогою Microsoft Access
Microsoft Access не є системою клієнт/сервер. Його програми не містять яскраво виражених компонентів клієнта і сервера. Однак Access може бути використаний як інструмент розробки, надаючи засіб формування інтерфейсу користувача. Цей інструмент містить такі потужні засоби, як генератор звітів, будівник запитів і так далі. Подібні інструменти дуже корисні при розробці систем.
При створенні програми розгляньте можливість первісної розробки його за допомогою Access для бази даних, яку можна тестувати, руйнувати і відновлювати. Застосовуючи такий підхід, Access може бути використаний там, де він найкраще підходить, залишаючи управління базою даних для SQL Server.
Таблиці бази даних Access можуть бути конвертовані та перенесені на SQL Server. Таблиці, запити і види - це об'єкти, якими найкраще управляє SQL Server. Після створення доступних в Access об'єктів, вони можуть бути легко конвертовані в SQL Server.
Access стає інструментом розробки, що надає засіб формування інтерфейсу користувача і дозволяє працювати з базами даних SQL Server.
Створення транзитних запитів
Запити, створені в Access і потім виконуються на SQL Server, спочатку проходять рівень з'єднання ODBC, а потім передаються SQL Server у вигляді тимчасових збережених процедур. Результати виконання повертаються програми і з ними вже можна працювати.
Що трапиться, якщо ви захочете отримати більше коштів контролю над вихідними даними? Що, якщо ви захочете викликати збережені процедури і безпосередньо працювати з результатами? Подібні операції виконуються з допомогою транзитних запитів (pass-through queries). Застосовуючи Access, можна створити транзитні запити, які минають трансляцію і прямо передаються в SQL Server. Для того, щоб встановити запит як транзитний, спочатку виділіть його і виберіть мишею Design. Потім з'явилися з меню виберіть Query, SQL Specific і нарешті Pass-through. Після цього з'явиться вікно, що містить інструкцію SQL.
Транзитні запити дозволяють викликати збережені процедури, звертатися до видів і застосовувати інші засоби SQL Server, які можуть бути недоступні при виконанні звичайного запиту Access. Для виконання збереженої процедури, наприклад, можна просто використовувати команду EXECUTE.
Наприклад, для виклику збереженої процедури AccessProc з транзитного запиту, можна використати таку інструкцію:
exec accessproc
У результаті збережена процедура буде виконана і результати будуть повернуті із запиту. Такий тип логіки дуже легко включається в програму за допомогою створення необхідних запитів або за допомогою формування запитів за допомогою Access Basic
Практичне тестування
СУБД Access - це потужний інструмент. Він надає можливість розробникам корпоративних систем створювати надійні програми баз даних, які можуть бути легко встановлені в робоче середовище. Подібні програми можуть включати систему безпеки, мати високу продуктивність і дружній користувачеві інтерфейс. За допомогою Access процес знайомства користувача з додатком стає природним і не викликає ускладнень.
Після виконання переносу баз даних Access в SQL Server, хороший додаток стає ще краще. Збільшується продуктивність, поліпшується система безпеки і доступність інформації вашого застосування в масштабі корпорації.
У практичних розробках використання Access як інструмент розробки і тестування дає гарні результати. Нижче наведено ряд міркувань, які не можна ігнорувати при тестуванні систем баз даних, що працюють за допомогою Access:
* Продуктивність в системах з потужною індексацією і великою кількістю введеної інформації. При переході до SQL Server це питання обов'язково повинен бути переглянутий, тому що система SQL Server надає значно більші можливості щодо оптимізації системи. Ви можете застосувати найкращі індекси та інші процеси боку сервера, що дозволяють збільшити продуктивність SQL Server. Подібні опції недоступні на тому ж рівні Access. Ви можете додати індекси в Access, але це призведе до зовсім інших результатів.
* Тонка настоянка запитів, видів і збережених процедур. Провівши масштабну роботу по оптимізації збережених процедур та інших об'єктів, перенесених з Access, можна значно збільшити продуктивність системи в порівнянні з тим, як система працювала відразу після конвертування. Після завершення конвертації і тестування, перегляньте код збережених процедур і видів. Переконайтеся. що він передбачає максимально широке застосування можливостей, які надає SQL Server, що служать для підвищення продуктивності та ефективності роботи.
* Безпека. Не забувайте, що при переносі програми, ви повинні управляти системою безпеки SQL Server.
Після завершення конвертування програми необхідно переглянути ряд його елементів, що стосуються стилю розробки. Краще всього скласти список цих елементів і перевіряти їх у кожному разі переходу на SQL Server.