СУБД ЛИНТЕР
система управления
базами данных
Закрыть
Авторизация
Логин:
Пароль:

Забыли пароль?
Регистрация


rus | eng
Поиск
Найти
Техническая поддержка

Вопросы и ответы СУБД ЛИНТЕР®

Техническая поддержка Вопросы и ответы по СУБД ЛИНТЕР

06.06.2004 Для нашей системы желательно наличие возможности вернуть значение в операторе INSERT. В ORACLE для этого есть конструкция RETURNING. Дело в том, что ядро нашей системы, после создания объекта БД, оперирует с его уникальным идентификатором, который назначается в триггере. Пример: INSERT INTO DB1_AGENT (CODE,NAME) VALUES ('1','TEST') RETURNING ID INTO :P1;
У нас такой возможности пока нет. Есть возможность получать последний добавленный autoinc или последний затронутый операциями insert update или delete ROWID. По этому значению можно уже извлечь саму запись и работать с ней. (LAST_AUTOINC и LAST_ROWID соответственно).
18.03.2003 Возникла небольшая проблема: почему все SQL-запросы обрабатываются ЛИНТЕРом в режиме UPPERCASE? Например, команда ALTER USER rashid GROUP "ABC"; понимается как ALTER USER RASHID GROUP "ABC"; в результате свойства пользователя rashid остаются неизменными, а API выдает синтаксическую ошибку, поскольку пользователя RASHID(заглавными буквами) в системе нет.
На самом деле, это не особенность Линтер. Такое поведение соответствует стандарту SQL. Попробуйте подать тот же запрос любой другой реляционной СУБД - получите точно такой же результат. Если есть необходимость использовать символы нижнего регистра или специальные символы (например, пробел) в именах объектов БД - их необходимо заключать в двойные кавычки. Например, "а very long and strange user name" или, в вашем случае, - "rashid". Зарезервированные (ключевые) слова SQL могут быть введены в любом регистре и в кавычки не заключаются: CReaTE, drOp, ALtER, select, INSERT, updAte и т.д.
Мне нужно перенести базу данных из Access в ЛИНТЕР под Linux RedHat 6.2. Как это сделать?
Наиболее удобное решение - использовать утилиту "Datariver" из дистрибутива ЛИНТЕР для Windows. Настройте сетевой клиент Windows машины на соединение с Linter-сервером. Воспользуйтесь утилитой "Datariver". При соединении выберите в качестве источника СУБД Access, в качестве приемника - СУБД ЛИНТЕР. В рабочем окне программы появится спи-сок таблиц СУБД Access. Выберите нужные таблицы и инициируйте процесс конвертации кнопкой "Конвертация".
02.06.2004 Я использую PHP, как можно при помощи интерфейса, предоставленного в PHP выполнить хранимую процедуру, так, чтобы получить возвращаемые этой процедурой данные. (Как в ORACLE: SELECT < имя функции > FROM DUAL)
В данном случае Вы можете совершенно спокойно пользоваться такой же конструкцией (только у Вас должна быть таблица DUAL c одной записью). Получение результата ничем не отличается от получения результата обычного запроса. Кроме того, Вы можете использовать execute procedure... с получением данных через Get_Data_Row.
21.12.2003 Интересуют компоненты для доступа к ЛИНТЕР для Delphi 5.0 и С++ Builder 5.0.
В данной связке могут работать стандартные компоненты, работающие с BDE. Необходимо настроить работу BDE через ODBC и через ODBC связываться с ЛИНТЕР. После этого все стандартные классы будут работать. Для более поздних версий систем разработок есть интерфейс DBExpress, с помощью которого тоже можно связываться с СУБД.
Заметил, что система не воспринимает маленькие буквы в программе с CALL интерфейсом ни в имени таблицы, ни в именах полей. Это зависит от каких либо настроек?
Указывайте в двойных кавычках. По стандарту все в запросе, что не взято в кавычки приводится к верхнему регистру.
На сайте www.unixodbc.org есть информация, что есть возможность Linux-клиенту БД обращаться с запросами к БД Linter используя ODBC вызовы - "Original ODBC driver ported to UNIX". Я не видел упоминаний про эту возможность в документации к версии 5.7. Вы не могли сообщить - есть ли такая возможность?
Да, такая возможность существует. Фраза "Original ODBC driver ported to UNIX" означает, что это действительно "родной" полнофункциональный драйвер портированный под UNIX. Драйвер может использоваться как статическая или динамическая библиотека без Driver Manager, так и используя Driver Manager unixODBC (или какой-либо другой, если есть другие варианты). В стандартной документации действительно ничего не сказано о дополнительной возможности работы через ODBC под UNIX, т.к. это именно дополнительная возможность, хотя в дистрибутиве поставляется библиотека odbc.a и необходимый набор заголовочных файлов. Если Вам нужна дополнительная информация о возможностях использования ODBC при работе в UNIX - задавайте вопросы.
Обеспечивается ли Linter 5.8 полной поддержкой в ADO. Если да, то как надо настроить соединение ADO для Delphi 5.0.
К сожалению, в ЛИНТЕР пока нет поддержки ADO (работы в этом направлении ведутся). То есть, её нет на нативном уровне. Но это не значит, что с ЛИНТЕР нельзя работать через объекты ADO. ЛИНТЕР поддерживает стандарт ODBC 3.5. И если установить провайдер OLE DB, который перенаправляет вызовы ADO к драйверу ODBC, то можно будет работать с ЛИНТЕР при помощи объектов ADO. В составе MSDASDK (Platform SDK, Microsoft Data Access SDK) есть такой провайдер - MSDASQL. Его необходимо установить. Стоит отметить, что работает он весьма неплохо и достаточно быстро. Кстати, у нас есть клиенты, которые успешно работают с ЛИНТЕР из Delphi через ADO.
05.04.2006 В основных принципах создания КСЗ СУБД ЛИНТЕР сказано,что метки объектов есть неизменная величина. Как это согласуется с тем что владелец объекта в пределах своих уровней и полномочий может их менять?
На самом деле объектом в мандатном смысле в БД является только запись данных. Всё остальное - это просто расширения которые непосредственно не интерпретируются в мандатном смысле. Если прочитать нашу концепцию защиты, то из неё видно, что обобщённое понятие и для таблиц, столбцов и данных RAL и WAL чисто логическое. Т.е. реально у таблиц и данных смысл этих меток отличается. Мандатный принцип декларирует неизменность меток единиц данных. В БД такой единицей является запись. Вот у неё-то просто так метку сменить нельзя (даже формально) - только через UPDATE для записи на новое значение. Таблицы и столбцы здесь являются второстепенными. Они позволяют построить более гибкую схему защиты. Для повышения этой гибкости мы и размешаем ограниченную модификацию меток таблиц. При этом не нарушая принцип контроля.
15.12.2003 Почему в linux-утилите ldba не добавляются уровни доступа (RAL, WAL) в системную таблицу $$? Комбинация вставки "Alt + I" не работает... Иначе говоря, необходимо задать следующие уровни: НЕ СЕКРЕТНО ДЛЯ СЛ.ПОЛЬЗОВАНИЯ СЕКРЕТНО СОВ.СЕКРЕТНО В БД они изначально не прописаны, где их прописать?
Это описано в документе "Расширенные средства защиты данных". В двух словах: системная таблица $$ не редактируемая, то есть добавить в нее информацию "напрямую" невозможно. Назначить те или иные уровни доступа можно с помощью соответствующей утилиты, работа с которой описана в документации, или, подав соответствующую команду. Выдержка из документации: Назначение уровня доступа пользователю возможно через команду определения пользователя или через команду модификации определения пользователя с помощью предложения: LEVEL( , ); Пример CREATE USER a IDENTIFIED BY 'ASD' LEVEL("СОВ . СЕКРЕТНО","ДЛЯ СЛ. ПОЛЬЗОВАНИЯ"); Или ALTER USER b LEVEL("СОВ.СЕКРЕТНО","ДЛЯ СЛ.ПОЛЬЗОВАНИЯ");
Имеются ли возможности шифрования таблиц или отдельных полей?
Нет. Фирма РЕЛЭКС хотя и располагает алгоритмами шифрации, но не имеет лицензии на работы с ними. На данный момент в ЛИНТЕР шифруются (юридически правильнее было бы сказать – "кодируются") только поля, содержащие пароли пользователей системы. При передаче по сети запросы – ответы так же могут кодироваться (не шифруются).
07.11.2004 Хотелось бы узнать, как выглядят типовые хранимые процедуры для вставки, редактирования и удаления записи некоторой таблицы?
В дистрибутиве СУБД ЛИНТЕР, в каталоге simples/sp, приведены примеры программ, там Вы сможете найти и примеры хранимых процедур.
20.10.2004 Что-то читал о существовании под МСВС 3.0 классов С++ и QT-компонентов для взаимодействия с Линтер-ВС. Нет ли у вас более подробной информации, что из себя представляют эти классы и компоненты, если есть, то не могли бы вы скинуть заголовки?
Подобные классы действительно существуют. У нас существует C++ интерфейс к linapi (именно к нему, а не к call-интерфейсу). Но они используются исключительно во внутренних целях. Однако с нами связывался разработчик QT-классов для ЛИНТЕР-ВС Буряков Владимир - vab@sura.ru. Он разрабатывал эти компоненты и в настоящее время является их владельцем. Возможно, он сможет Вам помочь.
Есть какие-либо средства генерации SQL Script-ов по построенным в базе объектам?
Да, есть. Например, в dbstore. Есть так же в lindesc.
У меня в Linux некоторые утилиты ЛИНТЕР, например, LDBA работают в чёрно-белом варианте. Что можно предпринять?
При использовании систем Linux RedHat версии 5.2 и выше это, скорее всего, связано с отсутствием в базе описания терминала TERMINFO некоторых опций. Исправляется это заменой описания терминала linux на более старое, взятое из RedHat v 5.0 и менее. Также можно и самому добавить опции - setf=\E[%p1%{30}%+%dm setb=\E[%p1%{40}%+%dm в описание терминала, воспользовавшись утилитами Unix infocmp и tic. infocmp -1 > /tmp/terminfo.tmp echo ' setf=\E[%p1%{30}%+%dm,' >> /tmp/terminfo.tmp echo ' setb=\E[%p1%{40}%+%dm,' >> /tmp/terminfo.tmp tic /tmp/terminfo.tmp > /dev/null rm /tmp/terminfo.tmp
18.05.2005 Планируется ли поддержка языка Java для хранимых процедур?
Нет. Не планируется. Один из основных постулатов СУБД ЛИНТЕР (всех версий) заключается в запрете использования динамической памяти. Система должна работать только на том объеме памяти, который ей выделили при запуске и ни байтом больше. Если система запустилась, то ей уже не потребуется дополнительное оперативное пространство. Java же построена по другим принципам, поэтому виртуальную Java-машину будет достаточно сложно "удержать" в жёстких рамках оперативной памяти.
Имеется ли возможность (или планируется) вызывать внешние процедуры?
Такой возможности нет. И, скорее всего, не будет. Это связано с реализованной в ЛИНТЕР системой защиты информации от несанкционированного доступа. Внешнюю процедуру невозможно проконтролировать, а СУБД с такой "дырой" в защитных механизмах вряд ли может быть сертифицирована государственными органами. Некоторые внешние программы всё-таки допускаются (пока только для использования самой системой), например, текстовые фильтры для различных типов файлов (winword, rtf, pdf и т.п., а так же пользовательские) при создании индексов фразового поиска по документам.
16.10.2004 В call-интерфейсе я не нашел способов работы с параметризованными и транслированными запросами. Я плохо искал или они есть только в linapi (которого нет в Линтер-ВС)?
Их там действительно нет. Претранслированные запросы в ЛИНТЕР-ВС 6.0. можно использовать только посредством библиотеки PCI (через претрансляцию программ PCC). Можно получить с нашего сервера совместимую с ЛИНТЕР-ВС версию 5.7 и использовать интерфейсы, входящие в неё для работы. При необходимости, мы можем предоставить исходные тексты интерфейсных компонент для сертификации (по отдельному соглашению).
Насколько мне известно, сертификатом Гостехкомиссии обладает только версия ЛИНТЕР 5.1. Она находится в Государственном реестре. Версия 5.9 там отсутствует. ВНИИНС распространяет именно 5.1. Но я слышал, что 5.9 намного лучше и хотелось бы использовать ее. Если версия ЛИНТЕР 5.9, сертифицированная под ОС МСВС?
Сертификат Государственной технической комиссии при Президенте РФ выдан на систему управления базами данных ЛИНТЕР версии 5, функционирующую под управлением операционных систем Windows NT, UNIX, Novell NetWare. Таким образом, у нас фактически сертифицирована технология, и под действие сертификата попадают все подверсии версии 5, в том числе и 5.9. ВНИИНС распространяет специальную версию СУБД Линтер-ВС, разработанную компанией РЕЛЭКС под ОС МСВС. По сути Линтер-ВС 6.0 является клоном версии ЛИНТЕР 5.7, в которой была урезана функциональность.
15.02.2005 После установки русского дистрибутива под UNIX inl отображает текст ошибки в виде вопросиков. В таблице ERRORS также все русские буквы заменены вопросами. Как загрузить в базу русский текст ошибок?
В этом нет необходимости. Текст расшифровки кодов возврата помещен в таблицу ERRORS в кодировке KOI8R. Однако, в отличие от window платформ, где кодировка клиента определяется автоматически и версий ЛИНТЕР до 6.0 , где кодировка по умолчанию всегда была KOI8-R, в версии 6.0 и выше для UNIX платформ кодировка по-умолчанию не задана. Поэтому СУБД просто не знает к какой кодировке преобразовывать русские буквы и заменяет каждый непреобразованный символ знаком вопроса. Для устранения проблемы необходимо выставить переменную окружения LINTER_CP=KOI8-R для клиентского приложения, что укажет на необходимость преобразования данных ядром именно к этой кодировке.

1 - 20 из 36
Начало | Пред. | 1 2 | След. | Конец Все
ЗАО НПП «РЕЛЭКС»
Карта сайта | FAQ | Преимущества СУБД ЛИНТЕР | Лицензии и сертификаты | Прайс-лист | Контакты
Политика конфиденциальности
© 1990–2012 ЗАО НПП «РЕЛЭКС»