1. Пром мереж- PROFIBUS
-розр.: Пупена -
1
Промислові мережі та інтеграційні технології
Відкриті технології доступу до баз даних
Автор: Олександр Пупена (каф.ІАСУ НУХТ)
www.asu.in.ua
2. Пром.мереж DBASE
-розр.: Пупена -
2
Стандартні технології доступу до баз даних
1. Проблеми доступу до баз даних
2. Мова SQL
3. ODBC
4. OLEDB
5. RDO, DAO, ADO та ADO.NET
6. Настройка ADO та ADO.NET
3. Пром.мереж DBASE
-розр.: Пупена -
3
1. Проблеми доступу до баз даних
X, Y, Z – Citect DB, Zenon DB, iFIX DB, Trace Mode DB, MS SQL Server, Oracle DB, MS FoxPro ….
X
Y
Z
A,B,C,D – SCADA, СУБД РЧ, MES Application, ERP Application, Excel, інші СУБД, Application User …
Прикладна програма
A
драйвер A-X
Прикладна програма
B
драйвер B-Y
Прикладна програма C
драйвер C-Z
Прикладна програма
D
драйвер OPEN-X
драйвер OPEN-Y
драйвер OPEN-Z
драйвер D-X
драйвер D-Y
драйвер D-Z
драйвер D-OPEN
OPEN – SQL, ODBC, OLE DB, ADO.NET
4. Пром.мереж DBASE
-розр.: Пупена -
4
2. SQL
SELECT список_стовбчиків
FROM таблиця[-ці]
[WHERE умови]
SELECT [ALL|DISTINCT] список_стовбчиків FROM {таблиця | курсор}[,{таблиця | курсор}…] [WHERE умови] [GROUP BY стовпчик [, стовпчик…]] [HEAVING умови] [ORDER BY {ім’я_стовпчика | список_вибору}[ASC|DESC] ... ]
SELECT Value FROM Difuzija_1.Group_1_1 WHERE Group_1_1.TDate>'2006-09-19 00:00:00'
SELECT *
FROM Difuzija_1.Group_1_1
WHERE Group_1_1.TDate>'2006-09-19 00:00:00'
- SQL (Structured Query Language – мова структурованих запитів) – це універсальна мова для створення, модифікації і управління даними в реляційних базах даних. - описана в стандарті ANSI 1992 року як SQL2 (SQL-92). - практично всі відомі СУБД підтримують даний стандарт; - діалект SQL - адаптація SQL під конкретний СУБД (наприклад СУБД MS SQL Server Transact-SQL)
- дві операції: вибірка даних (data retrieval) та модифікація даних (data modification)
- вибірка – пошук необхідних даних, вказаних через SQL запити (SQL queries): команда SELECT.
- модифікація - добавлення, знищення або заміна даних: команди INSERT, DELETE та UPDATE.
Операції з даними.
Вибірка даних.
5. Пром.мереж DBASE
-розр.: Пупена -
5
3. ODBC
Рис.1. Архітектура ODBC
ODBC (Open Database Connectivity) – один із стандартних інтерфейсів доступу до реляційних баз даних, які засновані на мові SQL.
- драйвер ODBC – динамічно завантажувана бібліотека (DLL) з інтерфейсом ODBC API, та підтримкою SQL; перетворює запити SQL в операції з джерелом даних;
- Driver Manager – бібліотека, яка керує завантаженням необхідного драйверу, відповідно до його імені DSN;
- DSN (Data Source Name) - символьне ім’я, яке надається джерелу даних; в середовищі WINDOWS налаштовується в Адміністраторі ODBC
Створення та використання DSN.
-в панелі управління Адміністратора Windows->Адміністратор ODBC створюється DSN з типом: System DSN (доступний всім користувачам), User DSN (доступний плинному користувачу), File DSN (настройки зберігаються в окремому файлі);
- вказується ім’я DSN;
- вибирається драйвер ODBC;
- налаштовується драйвер для конкретного джерела даних;
- в клієнтській прикладній програмі в якості джерела даних вказується ім’я DSN;
6. Пром.мереж DBASE
-розр.: Пупена -
6
3. ODBC (приклад)
Використовуючи технологію ODBC забезпечити періодичне відновлення даних в комірках листу Microsoft Excel, що посилаються на змінні P1 та T1 в IOServer Citect .
7. Пром.мереж DBASE
-розр.: Пупена -
7
3. ODBC (продовження прикладу)
- в EXCEL "Данные"->"Импорт внешних данных"->"Создать запрос"; - Вибрати джерело даних з іменем Citect; - Вибрати стовбці NAME,VALUE; - "Просмотр или изменение в Microsoft Query“ - Після закриття MicrosoftQuery, вказати rjvshrb, де будуть розмішуватися данні.
8. Пром.мереж DBASE
-розр.: Пупена -
8
Запитання для самоконтролю
- Які програмні засоби і навіщо доступаються до архівних даних. Які проблеми сумісності можуть при цьому виникати?
- Як вирішується питання стандартизації інтерфейсу до СУБД через використання мови SQL? Що таке діалект SQL?
- Поясніть синтаксис оператору вибірки SELECT?
-На яких технологіях базується ODBC. З яких складових складається архітектура ODBC? Поясніть призначення кожного компоненту цієї структури.
- Як ідентифікується джерело даних в ODBC?
- Наведіть послідовність операцій, яку необхідно зробити користувачеві для вказівки джерела даних програмі клієнту ODBC.
9. Пром.мереж DBASE
-розр.: Пупена -
9
4. OLEDB
Рис.UDA Архітектура
OLE DB – об’єктно-орієнтована технологія доступу до даних, яка базується на COM.
UDA (Universal Data Access) - стратегія універсального доступу до будь яких джерел даних від Microsoft, де драйвери OLE DB займають нижній щабель ієрархії.
Два види OLE DB Провайдерів:
- OLE DB Провайдер Даних (OLE DB Data Provider) надає послуги доступу до власних баз даних;
- OLE DB Провайдер Сервісів (OLE DB Service Provider) надає набір послуг (сервісів), частина з яких використовує Провайдерів Даних для доступу до даних; по відношенню до Провайдерів Даних виступає як Споживач.
-OLE DB Consumers (OLE DB Споживачі) – це будь-яка частина прикладної програми, яка користується OLE DB-інтерфейсами;
- OLE DB Providers (OLE DB Провайдери) – це частина прикладної програми, яка надає свої послуги через OLE DB-інтерфейси;
- ODBC надає доступ тільки до реляційних джерел даних, OLE DB до будь яких
10. Пром.мереж DBASE
-розр.: Пупена -
10
5. RDO, DAO, ADO та ADO.NET
ADO (ActiveX Data Object) інтерфейс високого рівня, представлений через набір об’єктів зі своїми методами, властивостями та подіями, що надає до OLE DB сервісів. Визначає модель програмування – послідовність дій, які необхідні для отримання доступу та модифікації джерела даних.
Інтерфейс прикладної програми (API)
DAO
ADO
ODBC
Direct
RDO
ODBC API
JET
Kagera
SQL джерела даних
інші джерела даних
OLE DB
Рис.Принцип доступу до джерел даних через стандартні інтерфейси
RDO (Remote Data Object) – являється об’єктним інтерфейсом доступу до ODBC джерел даних.
DAO (Data Access Object) - являється об’єктним СОМ-інтерфейсом до процесора баз даних Jet (Joint Engine Technology database engine), а також до надбудовою над RDO-інтерфейсом
ADO.NET (ActiveX Data Object) – сервіси аналогічні ADO на базі .NET Framework .
11. Пром.мереж DBASE
-розр.: Пупена -
11
6. Настройка ADO та ADO.NET
1. Connection (Підключення) - це джерело даних, з яким необхідно з’єднатися, може бути представлений у вигляді:
- Рядка Підключення (Connection String) - вся послідовність (транзакція) підключення, частини (кроки) якої розділені спеціальними роздільниками (";"), складається з назви Провайдеру OLE DB та інших параметрів, в залежності від Провайдера;
- Uniform Resource Locator (URL).
2. Command (Команда) – операція, яку необхідно зробити з джерелом даних визначених Підключенням, результат команди є обєкт Recordset; типи команд:
- по замовченню: тип команди визначається самим Провайдером;
- текст (SQL) : команда записується у вигляді SQL-виразу;
- таблиця: команда являє собою назву таблиці, всі колонки якої повертаються з запитом;
- збережена процедура (stored procedure) – назва процедури, яка повинна бути викликана;
- файл: вказується ім’я файлу, з яким необхідно з’єднатися.
3. Parameters (Параметри),
4. Recordset - це об’єкт, за допомогою якого можна доступитись до рядків таблиці, які повертає Команда- запит.
5. Field (Поле)
6. Error (Помилка)
7. Property (Властивість)
8. Record (Запис)
9. Stream(Потік)
10. Collection (Колекція)
11. Event (Подія).
12. Пром.мереж DBASE
-розр.: Пупена -
12
6. Настройка ADO та ADO.NET
Послідовність користування ADO:
1.Вказати джерело даних для Підключення, тобто його розміщення в Рядку Підключення або в URL;
2.Виконати з’єднання з вказаним джерелом;
3.Визначити Команду для доступу до джерела даних, її тип та при необхідності параметри.
4.Виконати команду.
5.Для реляційних баз даних результати виконання команди у вигляді таблиці записуються в кеш. При необхідності їх можна модифікувати за допомогою об’єкту Recordset.
Аргумент Рядку Підключення
Пояснення
Provider=
Назва Провайдеру даних
File Name=
Назва файлу, де зберігаються наперед визначені настройки Підключення
Remote Provider=
Назва віддаленого Провайдеру (тільки для Remote Data Service)
Remote Server=
Шлях до віддаленого серверу (тільки для Remote Data Service)
URL=
URL-шлях до файла чи папки
- Провайдер даних NET Framework для SQL-сервера; - Провайдер даних .NET Framework для OLE DB; - Провайдер даних .NET Framework для ODBC; - Провайдер даних .NET Framework для Oracle...
- Microsoft OLE DB Provider for ODBC
- OLE DB Provider for Microsoft Jet
- Microsoft OLE DB Provider for SQL Server ...
13. Пром.мереж DBASE
-розр.: Пупена -
13
Запитання для самоконтролю
- На основі якої технології базується OLE DB? Які недоліки в технології ODBC порівняно з OLE DB? - Яке призначення OLE DB Провайдерів Даних та Провайдерів Сервісів? - Якими програмними інтерфейсами користуються для доступу до даних через ODBC з прикладної програми? - Яким прикладним інтерфейсом як правило користуються при користуванні OLE DB? - Чи можна доступитись до джерел даних ODBC через інтерфейс OLE DB? - Чи можна доступитись до джерел даних ODBC через інтерфейс ADO? - Поясніть призначення об’єктів Connection (Connection String), Command та Recordset в технології ADO? - Яким чином формується Строка Підключення? - Яку послідовність дій необхідно провести при налаштуванні OLE DB Споживача для доступу до даних за допомогою ADO? - На основі якої технології базується ADO.NET? - Чи можна доступитись до джерел даних ODBC через інтерфейс ADO.NET? - Чи можна доступитись до джерел даних OLE DB через інтерфейс ADO.NET?