Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IZ_SAPR.doc
Скачиваний:
3
Добавлен:
04.09.2019
Размер:
427.01 Кб
Скачать

Порядок роботи і рекомендації до її виконання

Транзакціями називається група дій, яка переводить БД з одного цілісного стану в інший і виконується за принципом “або всі, або жодного”. Результати виконання транзакції записуються в БД тільки в тому випадку, якщо вся транзакція закінчилася успішно.

Клієнтська програма керує транзакціями за допомогою трьох методів компонента TDatabase: StartTransaction (починає транзакцію), Commit (підтверджує транзакцію) і Rollback (відміняє всі зміни, зроблені з моменту початку транзакції):

Database1.StartTransaction; // Початок транзакції

. . . // Будь-які зміни в будь-яких таблицях

try

Database1.Commit // Підтвердження змін

except

Database1.Rollback // Відкат, якщо підтвердити зміни не вдалося

end;

Компонент TDataBase за допомогою своєї властивості TransIsolation забезпечує необхідний рівень ізоляції транзакцій. Ізолювати транзакції необхідно при одночасному доступі до одних і тих же даних декількох користувачів.

Property TransIsolation: TTransIsolation;

Рівень ізоляції транзакцій Dirty Read дозволяє читати всі поточні зміни, що проводяться іншими транзакціями до їх фіксації. Якщо поточна транзакція відмінить зроблені зміни, інші транзакції будуть бачити недостовірні дані.

Рівень ізоляції транзакцій Read Commited дозволяє читати тільки зафіксовані зміни, що проводяться іншими транзакціями. Це значення прийнято по умовчанню.

Рівень ізоляції транзакцій Repeatable Read після початку транзакції не дозволяє читати навіть підтверджені зміни, що проводяться іншими транзакціями в прочитаних даних. Отже при повторному читанні на протязі даної транзакції одного й того ж запису будуть одержані попередні результати, навіть якщо інші транзакції їх вже змінили.

Приклад: Робота з транзакціями.

Рис. 6.11. Форма для роботи з транзакціями.

Лабораторна робота №8

Створення серверу додатків

Мета: Вивчення методів та технології створення серверу додатків.

Завдання:

  • розробити сервер додатків;

  • виконати операції додавання, вилучення, модифікації над даними з клієнтських додатків.

Зміст звіту:

  • опис застосування з зазначенням встановлених значень властивостей компонентів;

  • лістинги розроблених процедур та їх аналіз;

  • висновки по роботі.

Порядок роботи і рекомендації до її виконання

  1. Почати нове застосування, яке буде перетворино в сервер застосувань.

  2. З а допомогою кнопки New панелі інструментів або команді File New Other відкрити вікно сховища об’єктів Delphi і на вкладці Multitier двічі клацнути на позначку Remote Data Module.

  3. У відповідь на запит експерту введіть ім’я класу Server.

  4. Розташуйте у вікні Server компонент TDatabase. У списку його властивості AliasName оберіть псевдонім вашої бази даних та установіть SRV в його властивість DatabaseName.

  5. У вікні дерева об’єктів розташуйте на Database1 компонент Table1 і оберіть таблицю у списку властивості TableName. Присвойте компоненту ім’я таблиці і відкрийте набор даних (НД), встановивши в його властивість Activ значення True.

  6. У вікні дерева об’єктів розмістіть на НД вашої бази даних компонент TDataSetProvider (вкладка Data Access палітри компонентів Delphi). Проміжний результат показаний на рис. 6.13.

  7. Збережіть модуль Unit1 під ім’ям RS0, модуль Unit2 - під іменем RS1, а сам проект – під іменем RServer. Запустіть програму, щоб зареєструвати сервер в реєстрі Windows, і закрийте вікно Form1 одразу після того, як воно з’явиться на екрані. Сервер застосувань готовий до роботи.

  8. Т епер необхідно створити клієнта. Оберіть команду File New Application.

  9. Розташуйте на формі компоненти TSocketConnection, TClientDataSet (обидва компоненти знаходяться на вкладці Data Snap), TDataSource, TDBGrid, TPanel, TButton та TDBNavigator.

Змініть їх властивості наступним чином:

  • Panel1.Align = alBottom;

  • DBGrid1.Align = alClient.

  • У вікні інспектора розкрийте список властивості Host компоненту SocketConnection1 та оберіть ім’я сітьової машини, на якій розташован сервер застосувань. Якщо ваш сервер застосувань працює на локальному комп’ютері, розташуйте у цю властивість значення localhost.

  • Робота з сокетами підтримується спеціальною утілітою SCTSRVR.EXE, яка знаходиться в каталозі BIN каталогу розташування Delphi. Запустіть її на машині серверу – в правій частині панелі інструментів з’явиться її значок.

  • Розкрийте список властивості ServerName компоненту SocketConnection1 та оберіть пункт RServer.Server. Установіть значення True у властивість Connected цього компоненту (в цей момент повинен автоматично стартувати сервер застосувань).

  • Для компоненту ClientDataSet1 оберіть у списку властивості RemoteServer ім’я компоненту SocketConnection1, а в списку властивості ProviderName – ім’я DataSetProvider1 (цей компонент на сервері застосувань експортує НД вашої бази даних).

  • Зв’яжіть компонент DataSource1 з компонентами ClientDataSet1, DBGrid1; компонент DBNavigator1 – з компонентом DataSource1, а компонент DBImage1 – з компонентом DataSource1 та полем Graphic (властивість DataField). Відкрийте набір ClientDataSet1 – в сітці повинні з’явитися дані.

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]