Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

2005 г

Быстрый старт ЛИНТЕР (Windows)

Научно-производственное предприятие РЕЛЭКС, www.relex.ru

Введение

Что такое ЛИНТЕР

ЛИНТЕР – это программный продукт, предназначенный для создания и поддержки информационных систем различного назначения на основе реляционной модели хранения данных.

В состав ЛИНТЕР входят:

  1. система управления базами данных (СУБД) – сертифицированная, многоплатформенная, масштабируемая, защищенная СУБД поддерживающая:
    • язык обработки баз данных SQL-92 с расширениями стандарта;
    • режим реального времени;
    • расширенную защиту данных;
    • процедурный язык обработки данных;
    • механизмы триггеров и последовательностей;
    • механизм транзакций и восстановления после сбоев.
  2. средства управления БД – набор утилит, предназначенных для создания конфигурирования и администрирования БД;
  3. средства поддержки БД – набор утилит, предназначенных для поддержки БД в процессе ее эксплуатации (тестирование структуры БД, миграция и конвертирование данных, резервное копирование и восстановление данных);
  4. сетевые средства организации и поддержки удаленного доступа к БД;
  5. интерфейсные средства – программные средства для разработки клиентских приложений на языках программирования:
    • С / С ++;
    • Pascal(Delphi , Kylix)
    • PHP;
    • PERL/DBI;
    • TCL/TK;
    • Python;
    • Java;
    • и др.
  6. ODBC–драйвер для разработки клиентских приложений, совместимых с различными СУБД;
  7. OLE DB–провайдер для разработки клиентских приложений и использованием современных средств разработки приложений;
  8. JDBC–драйверы для поддержки доступа к БД из Internet-приложений;
  9. средства для организации и поддержки полнотекстового (фразового) поиска в текстовых документах различных форматов (PDF, HTML, XML, ASCII и др.), аналогичные индексации и поиску документов в поисковых серверах Internet;
  10. средства репликации (тиражирования данных);
  11. инструментальные средства разработки приложений.

Основные сферы применения ЛИНТЕР:

  1. информационные системы различного назначения среднего уровня (объем хранимой информации до сотен гигабайт и количество одновременно работающих пользователей до сотен);
  2. системы реального времени;
  3. системы с высокими требованиями к безопасности и конфиденциальности информации;
  4. встроенные системы;
  5. информационно-поисковые системы с расширенными средствами поиска информации.

Основные характеристики СУБД ЛИНТЕР

Типы данных

В таблице 1 приведены типы данных, поддерживаемые СУБД ЛИНТЕР .

Таблица 1 . Типы данных СУБД ЛИНТЕР

Тип данных

Обозначение

Длина, байт

Строка символов фиксированной длины

CHAR

До 4000

Строка символов переменной длины

VARCHAR

До 4000

Строка байтов фиксированной длины

BYTE

До 4000

Строка байтов переменной длины

VARBYTE

До 4000

Строка UNICODE –символов фиксированной длины

N CHAR

До 2000 символов

Строка UNICODE –символов переменной длины

NVAR CHAR

До 2000 символов

Короткое целое

SMALLINT

2

Целое

INTEGER

4

Длинное целое

BIGINT

8

Вещественное число (плавающая точка)

REAL

4

Вещественное число (плавающая точка)

DOUBLE

8

Вещественное число (фиксированная точка)

NUMERIC

16

Логическое значение

BOOLEAN

1

Дата

DATE

16

BLOB-объект

BLOB

до 2 млрд.

Внешний файл

EXTFILE

 

 
Параметры БД

В таблице 2 приведены количественные параметры БД ЛИНТЕР.

Таблица2 . Параметры БД ЛИНТЕР

Характеристика

Значение

Максимальное число таблиц в БД

65535

Максимальное число столбцов в таблице

250

Максимальное число строк в таблице

500 млн.

Максимальная длина записи таблицы

4 Кбайт*

Максимальное количество ключей в таблице

1024

Максимальная длина ключа

1024

Максимальное число таблиц в запросе (на одном уровне)

32

Максимальная длина имени обекта БД

66 символов

Максимальное длина SQL -оператора

32Кбайт

* - до 64К в версиях 6 и выше

 

Установка ЛИНТЕР

Установка

Для установки СУБД необходимо:

  1. Установить в привод компакт-дисков CD-ROM с дистрибутивом СУБД ЛИНТЕР и запустить программу инсталляции RDBMSLinterSQL.exe из каталога, содержащего дистрибутив. На экране появится окно с сообщением о том, что программа InstallShield Wizard производит распаковку файлов RDBMS Linter SQL и подготовку к запуску.
  2. Ознакомиться с лицензионным соглашением. В случае согласия с лицензионным соглашением нажать кнопку «Да» (в противном случае установка СУБД не выполняется).
  3. Ввести регистрационную информацию и лицензию или выбрать установку демо-версии и нажать кнопку «Далее».
  4. Программой будет предложена папка по умолчанию для размещения файлов СУБД ЛИНТЕР. В случае согласия с предложенной папкой нажать кнопку «Далее». В случае несогласия нажать кнопку «Обзор» и в отобразившемся дереве выбрать нужную папку.1
  5. Выбрать необходимые компоненты для установки, а затем нажать кнопку «Далее» (Рис. 1):

    Рис. 1. Выбор компонентов для установки
    СУБД ЛИНТЕР для Microsoft Windows NT/2000 может работать в двух режимах:
    • как приложение ОС;
    • как сервис (служба) ОС;

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

  6. Предлагается указать наименование папки, в которую будет произведена установка значков и нажать «Далее».
  7. Выбрать действия, которые программа должна выполнить сразу после завершения процесса установки, нажать «Далее».
  8. Начинается процесс установки СУБД ЛИНТЕР, который сопровождается выдачей на экран информации об установленных компонентах и состоянии процесса установки. В процессе установки высвечивается окно конфигурирования ODBC драйверов.
  9. Перед окончательным завершением установки появляется окно со списком серверов данных, которые можно в этот момент добавить.
  10. Установка локального варианта СУБД ЛИНТЕР завершена.
  11. После установки в переменную PATH желательно (но необязательно) добавить путь к подкаталогу 'bin' дистрибутива. Это облегчит работу с консольными утилитами, а также сделает доступными динамические библиотеки.
  12. Демонстрационная БД содержится в каталоге 'db\Demo'. Сразу после установки СУБД ЛИНТЕР настроена на работу с этой базой.
Установка клиент-серверного варианта

Установка клиент-серверного варианта выполняется в два этапа:

  1. на сервере:
    • установка серверной части СУБД ЛИНТЕР на компьютере, выполняющим функции ЛИНТЕР-сервера;
    • настройка сетевых средств сервера.
  2. на всех клиентских компьютерах:
    • установка клиентской части СУБД ЛИНТЕР;
    • настройка сетевых средств;
    • настройка файла сетевой конфигурации.
1. Установка серверной части

Для установки сервера необходимо:

  1. Выполнять установку как указано в разделе «Установка». При этом обязательно должны быть указаны следующие компоненты - Ядро ЛИНТЕР, Демонстрационная база данных и Сетевые драйверы. Остальные компоненты устанавливаются по желанию2.
2. Установка клиентской части

Для установки клиентской части необходимо выполнить следующее:

  1. Выполнять установку как указано в разделе «Установка». При этом обязательно должны быть указана компонента - Сетевые драйверы. Остальные компоненты устанавливаются по желанию.
  2. В открывшемся окне Edit database servers list следует обязательно прописать параметры сервера. При этом можно воспользоваться кнопкой «Ping» для проверки соединения.

Установка клиентской части СУБД ЛИНТЕР завершена.

Ядро СУБД

Ядро СУБД ЛИНТЕР – это программа, исполняющаяся в фоновом режиме и обменивающаяся с клиентскими задачами информацией через механизмы межпроцессного взаимодействия посредством CALL-интерфейса.

Ядром является программа linternt.exe. Она может выполняться как сервис и как приложение ОС.

Клиентские приложения обращаются к БД через ядро системы только с помощью внутреннего (CALL) интерфейса. Все остальные программные интерфейсы (odbc, jdbc и т.д.) также используют этот интерфейс для взаимодействия с ядром СУБД.

Любое приложение, прежде чем обратиться с запросом к СУБД, должно открыть канал.

Канал СУБД ЛИНТЕР – это логическая линия обмена пользовательского приложения и ядра СУБД. Каждое приложение, пославшее запрос, принимает сообщения, адресованные именно ему.

Запросы, посланные по разным каналам, будут обрабатываться параллельно.

По одному каналу запросы могут обрабатываться только последовательно.

Запуск ядра

Архитектура СУБД ЛИНТЕР предполагает, что одно ядро может быть запущено для одной БД. Для этого при запуске указывается путь к конкретной БД.

Запуск ядра может выполняется или из программы linadm(по правой кнопке мыши и выборе пункта Startup) или запуском «RDBMS Linter kernel» из программной группы LINTER. Путь к БД в последнем случае можно будет или задать из меню программы.

Можно запустить ядро СУБД из командной строки подав команду linternt.exe /local /base=..., где ... - путь к БД.

Останов ядра

Выполняется программой shut или программой linadm или из приложения пользователя путём подачи команды «SHUT» Call-интерфейса.

Программе shut в качестве параметров передаются имя пользователя БД и его пароль, причем пользователь должен иметь привилегии для останова СУБД (привилегии DBA).

Например ,

shut SYSTEM MANAGER

В программе linadm необходимо выбрать необходимую для останова БД, нажать правую кнопку мыши и выбрать пункт shutdown. Затем указать имя пользователя и пароль.

Средства управления БД

Установка лицензии

Установка лицензии выполняется инсталлятором. Пользователь должен внести регистрационную информацию, полученную с дистрибутивом в ответ на один из экранов установки. В случае, если СУБД будет использоваться для ознакомления с возможностями, необходимо отметить check-box «Demo».

Создание новой БД

Создание новой БД осуществляется программой linadm или программой gendb.

В программе linadm необходимо выбрать сервер и по правой кнопке – «создать БД». В появившемся многозакладочном диалоге необходимо отметить указать все необходимые параметры. Обязательным является только имя БД. Следует помнить, что для работы различных программных интерфейсов и подсистем ядра СУБД требуются словари. Их создание можно потребовать, выбрав соответствующие пункты на закладке «Словари».

В случае если БД создана без поддержки словарей, то они могут быть загружены посредством любой административной утилиты, позволяющей выполнять запросы. Файлы, содержащие словари расположены после установки в каталоге DICT.

Администрирование БД
1. Интерактивный SQL

Утилита inl обеспечивает выполнение SQL-запросов в интерактивном режиме (запросы и команды управления передаются inl в интерактивном диалоге) и в пакетном режиме (запросы выбираются из входного файла).

Интерактивный SQL может использоваться:

  • для проверки (отладки) синтаксиса и семантики Sql-запросов в процессе разработки пользовательских приложений;
  • для получения и анализа временных характеристик обрабатываемых запросов;
  • для выполнения Sql-скриптов как в интерактивном режиме, так и в командных файлах операционной системы;
  • для форматирования и выдачи на экран (или на печать) результатов поисковых Sql-запросов.

Утилита относится к группе административных инструментов, т. к. с ее помощью можно выполнять все SQL-операторы по созданию объектов БД и по управлению доступом к ним.

Пример запуска утилиты

inl –u SYSTEM/MANAGER 
SQL>create table test (I int, c char(10), vc varchar(10)); 
2. Псевдографический интерфейс

Утилита ldba – утилита администрирования с псевдографическим интерфейсом. С ее помощью можно создавать различные объекты БД и управлять доступом к ним, не обладая знаниями языка баз данных SQL. При этом возможность ввода SQL-запросов и их выполнения осталась.

По сравнению с inl в нее добавлены возможности просмотра данных в виде скроллируемой таблицы и экспорта/импорта информации в/из текстового формата.

3. Графический интерфейс

Утилиты lindesk и lindeskx  –   утилиты администрирования с графическим интерфейсом. С их помощью можно создавать различные объекты БД и управлять доступом к ним, не обладая знаниями языка баз данных SQL . Они предоставляют самые широкие возможности по администрированию БД.

Средства обработки данных

Язык баз данных SQL

Язык SQL ( Structured Query Language ) является языком обработки и манипулирования данными СУБД ЛИНТЕР. Он основан на стандарте ANSI / ISO SQL -92. При реализации языка в него были внесены некоторые элементы, не специфицированные в стандарте SQL -92. Это касается конструкций, относящихся к интернационализации имен объектов базы данных (БД) - таблиц, столбцов и пр., а также набора скалярных функций, введенных в СУБД ЛИНТЕР для совместимости с SQL СУБД Oracle .

В частности, в SQL СУБД ЛИНТЕР реализованы:

  1. предложение UNION;
  2. полный набор операций соединения JOIN;
  3. все спецификации по описанию ограничений целостности;
  4. для совместимости с некоторыми известными СУБД (Oracle, DB2, Informix, Microsoft SQL Server и др.) в язык SQL введено множество встроенных функций;
  5. конструкции по управлению контролем доступа к информации;
  6. иерархические запросы к таблице и т.д.

Расширения стандарта включают:

  1. конструкции для работы с BLOB-столбцами;
  2. конструкции для работы с внешними файлами;
  3. введены последовательности, совместимые с СУБД Oracle;
  4. разрешено горячее тестирование таблицы, т.е. предложение TEST TABLE <имя> ;
  5. разрешено горячее архивирование объектов БД;
  6. разрешено использование нескольких таблиц во FROM в операциях UPDATE и DELETE, например:
    DELETE FROM таблица JOIN список _ таблиц WHERE ...
    UPDATE таблица JOIN список _ таблиц WHERE ...
  7. разрешена конструкция INTO в SELECT-операторе для совместимости с некоторыми диалектами языка SQL, например:
    SELECT список_выражений INTO список_параметров FROM ...
  8. разрешена конструкция CAST NULL AS <тип> ;

  9. разнообразные возможности ALTER TABLE по модификации структуры таблицы – от изменения имен (таблицы, её столбцов) до изменений важнейших характеристик самой таблицы и её столбцов (например, размеров, числа файлов, места их расположения, а для столбцов - длины данных, значений по умолчанию и т.д.);

  10. конструкции для полнотекстового поиска и т.д.

Процедурный язык

СУБД обладает мощным встроенным механизмом хранимых процедур и триггеров, что позволяет существенно расширить возможности языка SQL, организуя процедурную обработку данных на сервере согласно алгоритму пользователя.

По функциональной мощности хранимые процедуры СУБД ЛИНТЕР в некоторых аспектах даже превышают стандарт ANSI / ISO SQL -92/ PSM (Persistent Stored Modules), а именно:

  • использование оттранслированных запросов и запросов с параметрами (динамически изменяемых запросов),
  • управление транзакциями,
  • возможность работы с курсором.

Процедурный язык включает все необходимые операции с переменными и значениями каждого типа данных СУБД ЛИНТЕР, вызовы разнообразных стандартных функций (таких, как преобразование типов, работа со строчными данными и т.д.), операцию присваивания (тот факт, что присваивание является операцией, а не отдельным оператором, позволяет строить, например, такие конструкции: a  :=  b  :=  c  :=   0;).

Все операции со всеми типами данных реализуют трехзначную логику, то есть поддерживается значение NULL для любого типа данных, которое означает состояние «значение не определено».

Набор операторов позволяет закодировать алгоритмы любой сложности.

Для обработки результатов SELECT-запросов в процедурах используются курсоры (CURSOR), тип которых объявляется в соответствии со структурой ответа. Цикл работы с курсором может включать его открытие оператором OPEN (как результат запроса или выполнения другой процедуры), выборку данных оператором FETCH (в любом направлении) и закрытие (CLOSE) или, если процедура возвращает курсор, возврат (RETURN).

Процедуры могут работать со столбцами типа BLOB. Для этого используются стандартные функции чтения/записи в BLOB, которые ассоциируются с текущей строкой курсора.

Понятие «курсор» используется исключительно для выборки данных. Для выполнения любых DML и DDL запросов (запросов отличных от SELECT-запроса) используется оператор EXECUTE.

Все операции процедур по модификации данных входят в пользовательскую транзакцию. Завершением транзакции управляет пользователь, однако, процедура также может зафиксировать или откатить изменения, сделанные в ее теле (и теле ее дочерних процедур) операторами COMMIT и ROLLBACK.

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

В момент возникновения исключения управление сразу автоматически передается на соответствующую ветку блока обработки исключений (EXCEPTIONS), что избавляет от необходимости «засорения» кода процедуры многочисленными условными операторами, проверяющими результат завершения каждого оператора. Процедура может обработать исключение либо завершиться и передать исключение на верхний уровень (оператор RESIGNAL).

Процедуры могут использоваться как хранимые функции, расширяющие язык SQL.

Для загрузки текста хранимой процедуры (триггера) используются3:

  • spc – утилита с командным интерфейсом;
  • spman – утилита с псевдографическим интерфейсом;
  • lindeskx – графическая утилита администрирования;
  • обычный программный интерфейс подачи SQL -запросов.

Утилиты spman и lindeskx являются полноценными средами для разработки и отладки хранимых процедур и триггеров.

Они обеспечивают:

  1. создание, просмотр, редактирование исходного кода объектов отладки;
  2. управление постоянными точками останова (добавление, удаление, запрет, разрешение, определение/ редактирование свойств);
  3. запуск на выполнение объекта отладки по команде пользователя или наступлению события;
  4. различные режимы работы:
    • выполнение с прерыванием в точках останова;
    • пошаговое выполнение;
    • выполнение до временной точки останова;
    • выполнение до возврата;
    • выполнение с трассировкой.
  5. задание и просмотр отладочной информации:
    • просмотр локальных переменных;
    • отслеживаемые переменные и выражения;
    • вычисление выражений;
    • просмотр стека вызовов;
    • ведение протокола отладки.
Средства реального времени

СУБД ЛИНТЕР имеет ряд свойств, позволяющих отнести ее (с некоторыми допущениями) к системам реального времени:

  1. возможность выполнения запросов в асинхронном режиме. Результат окончания выполнения асинхронной операции обрабатывается процедурой обработки ответа, которая запускается тогда, когда от ядра СУБД будет получен ответ.
  2. возможность обрабатывать запросы в соответствии с установленными для них приоритетами. Более важные (приоритетные) запросы будут выполнены раньше низкоприоритетных, им будут отданы системой все возможные ресурсы и т.п.
  3. поддержка аппарата событий, т.е. возможность приложения устанавливать особые ситуации в БД и обеспечивать реакцию на их возникновение. Например, какое-то приложение специальным SQL-запросом устанавливает событие A (допустим, это модификация данных в таблице). Другие приложения могут запросить, чтобы их оповестили о возникновении события A. По возникновению этого события, запросившие его приложения будут прерваны, включатся соответствующие процедуры обработки ответа (на запрос об оповещении). По окончании обработки события (например, после того, как получены изменённые данные), приложение продолжит работу с того места, где оно было прервано.
  4. возможность отделения этапа трансляции запроса от этапа его выполнения, т.е. запрос можно один раз оттранслировать, а затем многократно выполнять, наполняя его каждый раз новым константным содержанием (привязка параметров). Это особенно удобно в программах сбора информации. При этом можно сочетать выполнение оттранслированного запроса и асинхронный режим его выполнения, что очень важно в системах управления технологическими процессами (например, при съёме информации с датчиков и занесения их в базу данных).
  5. возможность слежения из приложения за состоянием использования ресурсов ядра СУБД, что позволяет написать приложение с супервизорскими функциями. Такое приложение производит слежение за процессами, происходящими в ядре СУБД ЛИНТЕР, и может решить, что обработка какого-то запроса требует слишком много ресурсов, и приостановить или прервать его обработку.
Полнотекстовый поиск

Понятие «полнотекстовый» (или фразовый) поиск подразумевает поиск по полному тексту или по всем текстовым полям документа (БД). Любой текстовый документ, как правило, имеет внутреннюю структуру - деление на параграфы, отступ для заголовка, для подписи, таблицы. Текстовые редакторы позволяют делать эту структуру достаточно сложной - выделять текст шрифтами и вариантами их начертания, делать списки, выравнивание и т.д. и т.п. Кроме того, различные редакторы имеют разные форматы хранения данных (.doc, .html, .rtf, .txt и др.). Некоторые документы (например, в формате .html), помимо средств визуального оформления информации, имеет разметку внутренней структуры - заголовок, тело документа, ключевые слова. Поэтому в задачу полнотекстового поиска входит понимание внутренней структуры и «расшифровка» разных форматов документов с помощью специальных средств - конверторов или фильтров.

СУБД ЛИНТЕР со средствами фразового поиска рекомендуется использовать в проектах, где основными определяющими факторами являются скорость поиска и извлечения текста по фразе в больших хранилищах информации (например, WWW-сервер). Средства фразового поиска дают возможность упростить схему хранения данных в приложении и избежать создания некоторых дополнительных таблиц.

Система фразового поиска обеспечивает:

  • варианты поиска слов: по началу, окончанию, подстроке, целому слову, поиск с использованием символов шаблона;
  • поиск по словам, набранным с ошибками (нечеткий поиск). Поддерживаются три основных типа ошибок (перестановка, пропуск, замена буквы).

Средства поддержки БД

Тестирование БД

Утилиты testdb и testdbx производят проверку физической целостности структуры БД. Эта проверка может потребоваться, например, после отключения питания оборудования во время выполнения длинной транзакции.

Даже если СУБД не производила никаких действий, все равно рекомендуется производить проверку БД после каждого некорректного завершения работы ядра.

Рекомендуется следующая последовательность действий:

  1. сразу же после такого завершения работы ядра создать архив БД средствами ОС;
  2. запустить и сразу же остановить работу ядра СУБД с копией БД;
  3. запустить testdb в режиме проверки;
  4. в случае обнаружения ошибок утилиту testdb необходимо запустить заново в режиме исправления ошибок;
  5. потом еще раз в режиме тестирования.
Выгрузка данных

Для сохранения структуры и данных в текстовом формате используется программа 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++ в соответствии с синтаксическими правилами встроенного языка. В результате получение исполняемого кода программы распадается на следующие этапы:

  1. Прекомпиляция с использованием прекомпилятора (препроцессора), входящего в состав СУБД ЛИНТЕР, исходного текста программы (отдельного модуля), содержащего конструкции встроенного SQL. Прекомпилятор заменяет конструкции встроенного SQL либо операторами языка С/C++, либо вызовами соответствующих функций библиотеки прекомпиляторного интерфейса. Результатом прекомпиляции является исходный текст программы, содержащей только конструкции языка C/C++.
  2. Компилирование полученного текста программы (модуля) стандартным С/C++-компилятором, результатом чего будет объектный код программы (модуля). Если программа (модуль) не содержит конструкции встроенного SQL, то они компилируются только компилятором C/C++.
  3. Компоновка всех объектных модулей программы совместно с библиотекой встроенного SQL (поставляемой в дистрибутиве СУБД ЛИНТЕР) и системными библиотеками. Результатом будет исполняемый код программы.
  4. При компоновке программы используется библиотека pci.lib из каталога intlib.
  5. Примеры программ и makefile можно посмотреть в каталоге samples/pcc.
ODBC–интерфейс

Данный интерфейс реализует спецификацию 3.51 интерфейса Microsoft ODBC.

В составе ЛИНТЕР поставляется 2 ODBC драйвера – lindbbc.dll и linodbcw.dll – соответственно, ANSI- и UNICODE-драйверы. По умолчанию они устанавливаются в системе под именами Linter 5.9 и Linter 5.9 Unicode (для версии 5.9) соответственно.

Если при попытке соединения с сервером вы получили ошибку 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 расположены в каталоге linter/samples/jdbc.

Для использования драйвера доступа к ЛИНТЕР в JAVA-программе необходимо задать драйвер "jdbc.LinJdbc.LinterDriver", а для подключения к серверу необходимо указывать строку соединения "jdbc:Linter:localhost:1070:local", где localhost - IP адрес машины, где запущен сервер linapid, 1070 – порт.

Для использования драйверов JDBC 2 и 3 необходимо использовать linjdbc-1.2.jar и linjdbc-1.4.jar

Имя драйвера для них - com.relx.jdbc.LinterDriver, формат строки соединения – “jdbc:linter:linapid:<host>:<port>:<database>” – назначения полей совпадают с полями для драйвера спецификации 1.

Perl интерфейсы

В состав СУБД ЛИНТЕР входят два интерфейса для Perl. Один из них оригинальный, второй является драйвером для стандартного средства доступа к БД DBI.

Обычно модуль интерфейса от Perl к СУБД ЛИНТЕР поставляется в дистрибутиве в готовом к использованию, откомпилированном виде. Это два файла LinPerl.dll и LinPerl.pm в каталоге intlib/perl.

Использовать этот модуль возможно двумя способами:

  1. добавить к путям поиска библиотек каталог bin. Для этого необходимо установить соответствующее значение переменной окружения PERL5LIB, например:
  2. PERL5LIB=%PERL5LIB%;c:/linter/intlib/perl
  3. скопировать файлы LinPerl.dll и LinPerl.pm в один из каталогов поиска библиотек perl.

Перед использованием любых функций обращения к Linter в свою Perl-программу вы должны добавить строку:

use LinPerl; 

Получить информацию о синтаксисе и наименованиях функций можно с помощью команды

perldoc LinPerl 

В составе дистрибутива в каталоге samples/perl размещены примеры использования интерфейса ЛИНТЕР к Perl.

Если у Вас есть необходимость пересобрать интерфейс ЛИНТЕР к Perl, то необходимо запустить программу–конфигуратор configure. Программа определит наличие Perl и необходимых заголовочных файлов в системе. После этого надо перейти в каталог linter/perl и подать команду make.

Интерфейс DBI поставляется как в виде готового модуля, так и с возможностью пересборки. Он представляет собой файлы Linter.dll в каталоге intlib/perl и Linter.pm в каталоге intlib/perl/DBD.

В каталоге samples/dbi содержатся примеры использования.

Конфигурирование переменной PERL5LIB выполняется аналогично с первым интерфейсом, только при копировании модулей необходимо учитывать, что Linter.pm должен копироваться в каталог драйверов DBI.

PHP -интерфейс

Прежде всего, необходимо отметить, что в настоящее время существует как минимум три несовместимых по внутренним интерфейсам версии PHP. Это старая версия 3, и более поздние 4 и 5 версии. Мало того, в четвертой и пятой версии PHP любое расширение (extension) языка, а именно им является интерфейс ЛИНТЕР, должно быть пересобрано под конкретную версию сборки языка.

Модуль можно будет или встроить в расширения PHP, которые будут загружаться автоматически при запуске PHP, или пользоваться напрямую загрузкой расширения функцией dl.

На машине должен быть установлен PHP или в виде исполняемого файла или в виде модулей web-сервера Apache или IIS.

Скомпилированные интерфейсы находятся в каталоге intlib/php дистрибутива ЛИНТЕР и размещены по отдельным каталогам для различных версий.

В каталоге linter/samples/php содержатся примеры использования интерфейса PHP к ЛИНТЕР.

DBExpress интерфейс

DBExpress интерфейс реализован в виде разделяемой библиотеки lindbex.dll, расположенной в каталоге bin дистрибутива. Он предназначен для использования стандартных классов в среде Delphi и С++.

Для корректного функционирования драйвера, БД должна содержать ODBC-каталог (см. описание catalog.sql в разделе ODBC-драйвер).

Для использования драйвера в программе достаточно создать стандартный объект TSQLConnection и прописать у него в свойствах LibraryName и VendorLib полный путь к драйверу lindbex.dll.

Tcl/Tk интерфейс

Интерфейс представляет собой исполняемый модуль интерпретатора Tcl со встроенным интерфейсом доступа к ЛИНТЕР под названием linsh (для Tk он называется linwish ) расположенный в каталоге bin. Они (и компоненты для их сборки) поставляются отдельно по запросу пользователя.

Python интерфейс

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

import LinPy 
Компоненты поставляются отдельно по запросу пользователя.

[1] Если указанный Вами каталог не существует, то он будет создан.
Для установки в чужой каталог необходимо иметь соответствующие привилегии.

[2] Локальная сеть должна быть настроена для работы в одном из протоколов: TCP/IP, IPX/SPX или Netbios.

[3] Для загрузки текстов процедур и триггеров в БД может использоваться утилита inl. Т.к. символ ';' является признаком окончания запроса в утилите inl с одной стороны и разделителем операторов в процедурном языке (на котором пишутся тексты хранимых процедур и триггеров) с другой, то для загрузки текстов хранимых процедур (триггеров) применяется экранирование символа ';', т.е., если это разделитель операторов в процедурном языке, то после него ставится знак комментария "//".

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...