|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2005 г
Быстрый старт ЛИНТЕР (Windows)Научно-производственное предприятие РЕЛЭКС, www.relex.ru
ВведениеЧто такое ЛИНТЕРЛИНТЕР – это программный продукт, предназначенный для создания и поддержки информационных систем различного назначения на основе реляционной модели хранения данных. В состав ЛИНТЕР входят:
Основные сферы применения ЛИНТЕР:
Основные характеристики СУБД ЛИНТЕРТипы данныхВ таблице 1 приведены типы данных, поддерживаемые СУБД ЛИНТЕР . Таблица 1 . Типы данных СУБД ЛИНТЕР
Параметры БДВ таблице 2 приведены количественные параметры БД ЛИНТЕР. Таблица2 . Параметры БД ЛИНТЕР
* - до 64К в версиях 6 и выше Установка ЛИНТЕРУстановкаДля установки СУБД необходимо:
Установка клиент-серверного вариантаУстановка клиент-серверного варианта выполняется в два этапа:
1. Установка серверной частиДля установки сервера необходимо:
2. Установка клиентской частиДля установки клиентской части необходимо выполнить следующее:
Установка клиентской части СУБД ЛИНТЕР завершена. Ядро СУБДЯдро СУБД ЛИНТЕР – это программа, исполняющаяся в фоновом режиме и обменивающаяся с клиентскими задачами информацией через механизмы межпроцессного взаимодействия посредством CALL-интерфейса. Ядром является программа Клиентские приложения обращаются к БД через ядро системы только с помощью
внутреннего ( Любое приложение, прежде чем обратиться с запросом к СУБД, должно открыть канал. Канал СУБД ЛИНТЕР – это логическая линия обмена пользовательского приложения и ядра СУБД. Каждое приложение, пославшее запрос, принимает сообщения, адресованные именно ему. Запросы, посланные по разным каналам, будут обрабатываться параллельно. По одному каналу запросы могут обрабатываться только последовательно. Запуск ядраАрхитектура СУБД ЛИНТЕР предполагает, что одно ядро может быть запущено для одной БД. Для этого при запуске указывается путь к конкретной БД. Запуск ядра может выполняется или из программы linadm(по правой кнопке мыши и выборе пункта Startup) или запуском «RDBMS Linter kernel» из программной группы LINTER. Путь к БД в последнем случае можно будет или задать из меню программы. Можно запустить ядро СУБД из командной строки подав команду Останов ядраВыполняется программой Программе Например , shut SYSTEM MANAGER В программе linadm необходимо выбрать необходимую для останова БД, нажать правую кнопку мыши и выбрать пункт shutdown. Затем указать имя пользователя и пароль. Средства управления БДУстановка лицензииУстановка лицензии выполняется инсталлятором. Пользователь должен внести регистрационную информацию, полученную с дистрибутивом в ответ на один из экранов установки. В случае, если СУБД будет использоваться для ознакомления с возможностями, необходимо отметить check-box «Demo». Создание новой БДСоздание новой БД осуществляется программой linadm или программой В программе linadm необходимо выбрать сервер и по правой кнопке – «создать БД». В появившемся многозакладочном диалоге необходимо отметить указать все необходимые параметры. Обязательным является только имя БД. Следует помнить, что для работы различных программных интерфейсов и подсистем ядра СУБД требуются словари. Их создание можно потребовать, выбрав соответствующие пункты на закладке «Словари». В случае если БД создана без поддержки словарей, то они могут быть загружены посредством любой административной утилиты, позволяющей выполнять запросы. Файлы, содержащие словари расположены после установки в каталоге DICT. Администрирование БД1. Интерактивный SQLУтилита inl обеспечивает выполнение SQL-запросов в интерактивном режиме (запросы и команды управления передаются inl в интерактивном диалоге) и в пакетном режиме (запросы выбираются из входного файла). Интерактивный SQL может использоваться:
Утилита относится к группе административных инструментов, т. к. с ее помощью можно выполнять все SQL-операторы по созданию объектов БД и по управлению доступом к ним. Пример запуска утилиты inl –u SYSTEM/MANAGER SQL>create table test (I int, c char(10), vc varchar(10)); 2. Псевдографический интерфейсУтилита По сравнению с 3. Графический интерфейсУтилиты Средства обработки данныхЯзык баз данных SQLЯзык SQL ( Structured Query Language ) является языком обработки и манипулирования данными СУБД ЛИНТЕР. Он основан на стандарте ANSI / ISO SQL -92. При реализации языка в него были внесены некоторые элементы, не специфицированные в стандарте SQL -92. Это касается конструкций, относящихся к интернационализации имен объектов базы данных (БД) - таблиц, столбцов и пр., а также набора скалярных функций, введенных в СУБД ЛИНТЕР для совместимости с SQL СУБД Oracle . В частности, в SQL СУБД ЛИНТЕР реализованы:
Расширения стандарта включают:
Процедурный языкСУБД обладает мощным встроенным механизмом хранимых процедур и триггеров, что позволяет существенно расширить возможности языка SQL, организуя процедурную обработку данных на сервере согласно алгоритму пользователя. По функциональной мощности хранимые процедуры СУБД ЛИНТЕР в некоторых аспектах даже превышают стандарт ANSI / ISO SQL -92/ PSM (Persistent Stored Modules), а именно:
Процедурный язык включает все необходимые операции с переменными и значениями
каждого типа данных СУБД ЛИНТЕР, вызовы разнообразных стандартных функций (таких,
как преобразование типов, работа со строчными данными и т.д.), операцию присваивания
(тот факт, что присваивание является операцией, а не отдельным оператором,
позволяет строить, например, такие конструкции: Все операции со всеми типами данных реализуют трехзначную логику, то есть поддерживается значение NULL для любого типа данных, которое означает состояние «значение не определено». Набор операторов позволяет закодировать алгоритмы любой сложности. Для обработки результатов SELECT-запросов в процедурах используются курсоры
( Процедуры могут работать со столбцами типа BLOB. Для этого используются стандартные функции чтения/записи в BLOB, которые ассоциируются с текущей строкой курсора. Понятие «курсор» используется исключительно для выборки данных. Для выполнения
любых DML и DDL запросов (запросов отличных от Все операции процедур по модификации данных входят в пользовательскую транзакцию.
Завершением транзакции управляет пользователь, однако, процедура также может
зафиксировать или откатить изменения, сделанные в ее теле (и теле ее дочерних
процедур) операторами Для упрощения обработки ошибок в языке хранимых процедур предусмотрен механизм работы с исключительными ситуациями, в качестве которых могут рассматриваться ошибки выполнения SQL - запросов, ошибки времени исполнения (вызов несуществующей процедуры, деление на ноль и т.д.) или пользовательские исключения. В момент возникновения исключения управление сразу автоматически передается
на соответствующую ветку блока обработки исключений ( Процедуры могут использоваться как хранимые функции, расширяющие язык SQL. Для загрузки текста хранимой процедуры (триггера) используются3:
Утилиты Они обеспечивают:
Средства реального времениСУБД ЛИНТЕР имеет ряд свойств, позволяющих отнести ее (с некоторыми допущениями) к системам реального времени:
Полнотекстовый поискПонятие «полнотекстовый» (или фразовый) поиск подразумевает поиск по полному тексту или по всем текстовым полям документа (БД). Любой текстовый документ, как правило, имеет внутреннюю структуру - деление на параграфы, отступ для заголовка, для подписи, таблицы. Текстовые редакторы позволяют делать эту структуру достаточно сложной - выделять текст шрифтами и вариантами их начертания, делать списки, выравнивание и т.д. и т.п. Кроме того, различные редакторы имеют разные форматы хранения данных (.doc, .html, .rtf, .txt и др.). Некоторые документы (например, в формате .html), помимо средств визуального оформления информации, имеет разметку внутренней структуры - заголовок, тело документа, ключевые слова. Поэтому в задачу полнотекстового поиска входит понимание внутренней структуры и «расшифровка» разных форматов документов с помощью специальных средств - конверторов или фильтров. СУБД ЛИНТЕР со средствами фразового поиска рекомендуется использовать в проектах, где основными определяющими факторами являются скорость поиска и извлечения текста по фразе в больших хранилищах информации (например, WWW-сервер). Средства фразового поиска дают возможность упростить схему хранения данных в приложении и избежать создания некоторых дополнительных таблиц. Система фразового поиска обеспечивает:
Средства поддержки БДТестирование БДУтилиты testdb и testdbx производят проверку физической целостности структуры БД. Эта проверка может потребоваться, например, после отключения питания оборудования во время выполнения длинной транзакции. Даже если СУБД не производила никаких действий, все равно рекомендуется производить проверку БД после каждого некорректного завершения работы ядра. Рекомендуется следующая последовательность действий:
Выгрузка данныхДля сохранения структуры и данных в текстовом формате используется программа dbstore . Причем могут сохраняться не только собственно данные, но и объекты БД (таблицы, пользователи, представления, синонимы и др.). Вы можете указать в командной строке, какой объект требует сохранения, и он будет сохранен в виде sql–файла, который впоследствии можно передать утилите inl для создания этого объекта заново. Данные таблиц сохраняются отдельно в формате lod–файлов для последующей загрузки их в БД посредством утилиты loarel . Утилита может сохранять в виде набора файлов всю БД – включая ее таблицы, триггеры, последовательности, пользователей и т.п. При этом будут созданы shell–программы для последовательного восстановления сохраненных данных в другую БД. Утилита migration позволяет сделать те же самые действия, но имеет графический интерфейс. Она совмещает в себе функциональные возможности dbstore и loarel . Загрузка данныхУтилита loarel может быть использована для загрузки данных, сохраненных в lod–файлах в таблицы БД. Входной файл может быть результатом экспорта данных различных программ (например, MS Access). Конвертирование данных из формата dbfУтилита dbf2lin выполняет прямое преобразование данных из формата dbf в ЛИНТЕР . Резервное копирование и восстановлениеУтилита «горячего» архивирования lhb позволяет архивировать БД целиком или отдельные ее объекты, не останавливая работу СУБД. Утилита позволяет также выполнять инкрементное архивирование и архивирование по сценарию, что обеспечивает большую гибкость при работе программы. Утилита lhbx выполняет точно такие же действия, но имеет графический интерфейс. Сетевые средстваСетевые утилиты позволяют работать с БД удаленно с других машин или, соответственно, с серверами на других машинах. Для передачи данных используется протоколы TCPIP, SPX, NetBios. В состав сетевых утилит входит сетевой сервер dbs_wnt и сетевой клиент dbc_wnt . Сетевой сервер представляет собой программу, которая, будучи запущена на одной машине с ядром СУБД, обеспечивает доступ к указанному ядру СУБД (и, соответственно, к БД этого ядра) через сеть. Сетевой клиент представляет собой редиректор, который переадресует запросы от клиентских задач в сеть. Для организации работы через сеть необходимо запустить один процесс dbs_wnt на машине, где работает ядро СУБД. На клиентских машинах необходимо запускать процессы сетевых клиентов dbc_wnt . Запуск сервера осуществляется обычно программой linadm посредством указания при запуске БД check-boxа - start network listener. Запуск клиентского драйвера осуществляется из linadm нажатием на иконку Network agent. Для конфигурации dbc_ent необходимо настроить файл конфигурации nodetab . Он может быть отредактирован в процессе установки или после из утилиты linadm путём выбора пункта «список баз» Программные интерфейсыCALL-интерфейсЭто интерфейс самого нижнего уровня для С /C++. В основе всех остальных интерфейсов лежит именно Call-интерфейс. Он имеет самый маленький размер из всех описанных ниже интерфейсов. Он самый быстрый. Но он требует кропотливой работы программиста для заполнения всех необходимых данных. Также разбор ответов программист должен выполнять самостоятельно. Call-интерфейс можно использовать и из других языков программирования, но для этого придется вызывать его функции в стиле языка C. В дистрибутиве этот интерфейс поставляется в исходных кодах и в виде уже откомпилированной библиотеки. Это файлы inter.h , intlib.c из каталога intlib. В пользовательских программах необходимо использовать inter.h и inter325.lib для соответствующего компилятора. Примеры работы с указанным интерфейсом расположены в каталогах samples/c и samples/call. Для работы с данными типа DECIMALS и DATE используются специальные библиотеки decimals и tick . Они объединены в библиотеку dectic 32. lib . Заголовочные файлы находятся в каталоге intlib. LinAPI-прикладной интерфейсАналогично CALL–интерфейсу интерфейс LinAPI предназначен для использования его в программах на языках программирования C (C++). В отличие от CALL–интерфейса каждое действие с БД или ответами выполняется отдельной функцией. Разделены понятия соединения и курсора. Введено понятие statement (оператор) как некой внутренней структуры, позволяющей выполнять претранслированные запросы и хранящей в себе информацию о претранслированном запросе. Примеры программ с использованием LinAPI интерфейса можно найти в каталоге samples/linapi. Сама библиотека находится в каталоге intlib. Это файлы linapi.h (заголовочный) и lapi325.lib (для соответствующего компилятора). Встроенный SQL ( C / C ++)Встроенный SQL предназначен для объединения возможностей языка программирования высокого уровня С/C++ с возможностями языка баз данных SQL СУБД ЛИНТЕР. Он позволяет выполнять любой Sql-оператор из прикладной программы. Для этого Sql-операторы непосредственно встраиваются в текст программы на C/C++ в соответствии с синтаксическими правилами встроенного языка. В результате получение исполняемого кода программы распадается на следующие этапы:
ODBC–интерфейсДанный интерфейс реализует спецификацию 3.51 интерфейса Microsoft ODBC. В составе ЛИНТЕР поставляется 2 ODBC драйвера – Если при попытке соединения с сервером вы получили ошибку 25024 или 2202 при обращении к функциям каталога, то БД не была подготовлена для использования ODBC интерфейса (отсутствует соответствующий словарь). Для возможности работы вы должны выполнить запросы из файла dict/catalog.sql. Для этого лучше всего воспользоваться утилитой inl : inl –u SYSTEM/MANAGER -f dict/catalog.sql JDBC–интерфейсВ дистрибутиве ЛИНТЕР поставляется 3 драйвера JDBC – JDBC спецификаций 1,2 и 3. Кроме того, поставляются классы JNDI для JDBC 2 и 3. Для работы с ЛИНТЕР из Java-программ необходимо, во-первых, запустить jdbc-драйвер для БД, с которой нужно работать из JAVA–программы. Для этого необходимо запустить ядро СУБД и программу linapid . По умолчанию эта программа обслуживает запросы по порту 1070. Данная программа запускается программой linadm (нажатием на иконку JDBC-listener) Для того чтобы включить возможность доступа к ЛИНТЕР из Java– программы, необходимо включить в переменную среды CLASSPATH клиентскую часть JDBC–драйвера LinJdbc.jar (для JDBC 1), расположенную в каталоге classes дистрибутива ЛИНТЕР. Например : CLASSPATH=%CLASSPATH%;c:/linter/classes/LinJDBC.jar Примеры использования jdbc расположены в каталоге Для использования драйвера доступа к ЛИНТЕР в JAVA-программе необходимо задать
драйвер Для использования драйверов JDBC 2 и 3 необходимо использовать Имя драйвера для них - Perl интерфейсыВ состав СУБД ЛИНТЕР входят два интерфейса для Perl. Один из них оригинальный, второй является драйвером для стандартного средства доступа к БД DBI. Обычно модуль интерфейса от Perl к СУБД ЛИНТЕР поставляется в дистрибутиве
в готовом к использованию, откомпилированном виде. Это два файла Использовать этот модуль возможно двумя способами:
PERL5LIB=%PERL5LIB%;c:/linter/intlib/perl Перед использованием любых функций обращения к Linter в свою Perl-программу вы должны добавить строку: use LinPerl; Получить информацию о синтаксисе и наименованиях функций можно с помощью команды perldoc LinPerl В составе дистрибутива в каталоге Если у Вас есть необходимость пересобрать интерфейс ЛИНТЕР к Perl, то необходимо
запустить программу–конфигуратор configure. Программа определит наличие Perl
и необходимых заголовочных файлов в системе. После этого надо перейти в каталог
Интерфейс DBI поставляется как в виде готового модуля, так
и с возможностью пересборки. Он представляет собой файлы Linter.dll в
каталоге В каталоге Конфигурирование переменной PERL5LIB выполняется аналогично с первым интерфейсом, только при копировании модулей необходимо учитывать, что Linter.pm должен копироваться в каталог драйверов DBI. PHP -интерфейсПрежде всего, необходимо отметить, что в настоящее время существует как минимум три несовместимых по внутренним интерфейсам версии PHP. Это старая версия 3, и более поздние 4 и 5 версии. Мало того, в четвертой и пятой версии PHP любое расширение (extension) языка, а именно им является интерфейс ЛИНТЕР, должно быть пересобрано под конкретную версию сборки языка. Модуль можно будет или встроить в расширения PHP, которые будут загружаться автоматически при запуске PHP, или пользоваться напрямую загрузкой расширения функцией dl. На машине должен быть установлен PHP или в виде исполняемого файла или в виде модулей web-сервера Apache или IIS. Скомпилированные интерфейсы находятся в каталоге intlib/php дистрибутива ЛИНТЕР и размещены по отдельным каталогам для различных версий. В каталоге DBExpress интерфейсDBExpress интерфейс реализован в виде разделяемой библиотеки lindbex.dll, расположенной в каталоге bin дистрибутива. Он предназначен для использования стандартных классов в среде Delphi и С++. Для корректного функционирования драйвера, БД должна содержать ODBC-каталог
(см. описание Для использования драйвера в программе достаточно создать стандартный объект
TSQLConnection и прописать у него в свойствах LibraryName и VendorLib полный
путь к драйверу Tcl/Tk интерфейсИнтерфейс представляет собой исполняемый модуль интерпретатора Tcl со встроенным
интерфейсом доступа к ЛИНТЕР под названием Python интерфейсДрайвер Python представляет собой динамически подгружаемую библиотеку, написанную полностью на языке С. Для загрузки драйвера в программу Python достаточно выполнить: import LinPyКомпоненты поставляются отдельно по запросу пользователя.
[1] Если указанный Вами каталог не существует, то он будет создан. [2] Локальная сеть должна быть настроена для работы в одном из протоколов: TCP/IP, IPX/SPX или Netbios.
[3] Для загрузки текстов процедур и триггеров в БД может использоваться
утилита inl. Т.к. символ ';' является признаком окончания запроса в утилите
|
|
CITForum © 1997–2025