Обмен данными с помощью репликаций — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Обмен данными с помощью репликаций

2022-10-29 18
Обмен данными с помощью репликаций 0.00 из 5.00 0 оценок
Заказать работу

     При работе с базой часто является удобным скопировать на клиент­скую машину всю или часть базы в отдельную локальную базу-реплику (процедура создания реплики) и работать с репликой. После окончания ра­бо­ты с репликой ее можно вернуть в базу (процедура синхронизации). При создании реплики (на основе уже существующей) и при син­хро­ни­за­ции реплики копируются только новые или откор­рек­тирован­ные записи, что сокращает объем копируемой информации. Реп­­ликация снижает наг­руз­ку на базу коллективного использования и ус­коряет работу поль­зо­ва­те­лей, повышает надежность работы с базой.

     Свойства и методы, используемые при репликации

{ TableDef | QueryDef}. KeepLocal =True ‑ возможность репликации.

{ DataBase | TableDef | QueryDef}. Replicable=” T ‑ возможность реплика­ции во время синхронизации (задается символами “T”, “F”).

{ TableDef | QueryDef}. ReplicableBool =True ‑ возможность репликации во время син­хронизации (задается логическими константами True, False).

TableDef. ReplicaFilter= <условие> ‑ условие отбора записей из базы в час­тич­ную реплику.

Relation. PartialReplica =True ‑ записи копируются на основе связей между таблицами.

Database. MakeReplica ‑ метод формирования полной реплики.

Database.PopulatePartial ‑ метод формирования частичной реплики.

DatabaseSynchronize  ‑ метод синхронизации реплики с базой.

     Пример создания полной и частичной реплики

Private Sub Command2_Click() ‘процедура создания реплики

Dim db As Database, tdf As TableDef, fld As Field, qdf As QueryDef

Dim i As Integer, pr As Property, relation As relation ‘объявление переменных

Dim Sourcedb As String, Mastredb As String, Replicadb As String

Sourcedb = App.Path + “\Учет строек.mdb“ ‘имя исходной базы

masterdb = App.Path + “\master.mdb“      ‘имя копии исходной базы (основная)

Replicadb = App.Path + “\Replica.mdb“ ‘имя базы‑реплики

On Error GoTo proc_err            'переход на процедуру обработки ошибок

FileCopy Sourcedb, masterdb   ‘копирование исходной базы в основую

‘открытие базы в монопольном режиме (True) для создания свойств

Set db = OpenDatabase(masterdb, True)

‘создание свойства (pr) Replicable=“T“ ‑ база будет реплицируемой

Set pr = db.CreateProperty(“Replicable“, dbText, “T“)

db.Properties.Append pr ‘добавление созданного свойства в массив свойств

db.Properties(“Replicable“) = “T “          ‘установка значения Replicable=“T“

For i = db.Relations.Count - 1 To 0 Step -1 'удаление существующих связей

 If db.Relations(i).Name = “Заказчики“ Or _

db.Relations(i).Name = “НаселенныеПункты“ Then 'удаление связи

Set relation=db.Relations(i):db.Relations.Delete relation.Name

 End If

Next                                          'окончание цикла удаления связей

For i=0 To db.TableDefs.Count-1 'установка свойств реплицируемости таблицы

If db.TableDefs(i).Name = “Стройки“ Or db.TableDefs(i).Name = _  

“Заказчики“ Or db.TableDefs(i).Name = “Населенные пункты“ Then

Set tdf = db.TableDefs(i)

tdf.Properties(“replicableBool“) = True ‘таблица реплицируема

End If

Next 'окончание  цикла

‘Вариант создания полной реплики

'db.MakeReplica Replicadb, “Полная реплика” ‘создание реплики

‘db.Close: Set db = Nothing                           ‘закрытие базы

‘Вариант создания частичной реплики

db.MakeReplica Replicadb,“Пустая реплика“,dbRepMakePartial ‘создание реплики

db.Close: Set db = Nothing                            ‘закрытие базы

Set db = OpenDatabase(Replicadb, True)      ‘открытие пустой реплики

Set tdf = db.TableDefs(“Стройки“)                 'открытие таблицы “Стройки“

tdf.ReplicaFilter=“knp=2“ ‘задание условия отбора записей из базы в реплику

db.PopulatePartial masterdb ‘формирование частичной реплики

db.Close: Set db = Nothing ‘закрытие базы-реплики

Exit Sub                           'выход из процедуры

proc_err:                         'блок обработки ошибок

Select Case Err.Number ‘номер ошибки

Case 3270                   ‘свойство отсутствует в таблице и его нужно создать

Set pr = tdf.CreateProperty(“ReplicableBool“, dbBoolean, True) 'создание

tdf.Properties.Append pr  ‘добавление свойства в массив свойств таблицы

Case Else ‘обработка остальных ошибок

MsgBox (“Описание: “ & Err.Description + “ Код ошибки: “ & _

Err.Number & “ Источник ошибки: “ & Err.Source) ' вывод сообщения

End Select

End Sub

     Пример синхронизации реплики

Private Sub Command3_ Click() ‘процедура синхронизации реплики

Dim db As Database, Mastredb As String, Replicadb As String

masterdb=App.Path+“\master.mdb“: Replicadb=App.Path+“\Replica.mdb“

Set db = OpenDatabase(masterdb, True) ‘открытие в монопольном режиме

db.Synchronize Replicadb         ‘синхронизация ‑ возвращение реплики в базу

db.Close: Set db = Nothing: End Sub ‘закрытие базы и процедуры

Команды языка запросов SQL

Запросы на выборку данных

Команда Select является мощным средством обработки запросов. Приведем ее предварительный синтаксис.

Select   <что выводится>

From    <откуда (источник)>

Into     < куда выводится>

Where  <каким условиям должно отвечать>

Group By <колонки, по которым выполняется группирование>

Having  <условие группирования записей в одну строку>

Order By <в каком порядке выводить данные>

Запросы могут храниться в программе и в базе данных (хранимые процедуры или запросы) (п. 9.9.3).

Команда Select открывает нужные им базы данных и индексные файлы. Если необходимых для выполнения команды индексов нет, то они будут созданы, а по завершении команды уничтожены. Выполняются быстрее, легче сопровождаются.

Рассмотрим опции команды.


Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.