Внесение изменений в системные DDF таблицы PervasiveSQL (типа X$....)
0 (0)
Внесение изменений в системные DDF таблицы PervasiveSQL (типа X$....) ( YarCom 06.04.2015 13:41 )
5(1)Всем добрый день!
Есть необходимость вручную поправить данные системных DDF таблиц Pervasive, в частности таблицы X$Field.
Пытаюсь назначить на пользователя по умолчанию «Master» все права для работы с этой таблицей:
Set owner=Master, затем
GRANT ALL ON "X$Field" TO Master
Обе операции проходят без ошибок. Но когда пытаюсь через внести изменения с помощью Pervasive Control Center выдается ошибка -
«[LNA][Pervasive][ODBC Engine Interface][Data Record Manager] The owner name is invalid (Btrieve Error 51)».
Попробовал внести изменения скриптом UPDATE – такой же результат.
Есть возможность (если она в принципе существует) установить соответствующие права для пользователя и вносить изменения в системные таблицы X$...?
Версия PSQL 10
Спасибо!
>> ОтветитьКакие-то у меня сомнения, что можно из-под SQL править системные файлы ( Ltybc 07.04.2015 14:24 )
5(1)И главное, зачем? Если именно структуру таблиц поменять, то легальных способов полно,
если же переписывать Pervasive на свой вкус, то это только многочисленные пробы.
И как минимум надо пароль на файл знать, поскольку Первазив позволяет отдельные таблицы паролем закрывать.
>> ОтветитьДенис, эти DDF-файлы - это все тот же словарь, только в другом формате (+) ( krupennikov 09.04.2015 15:28 )
5(1)В формате стандартном для SQL. На RS-Bank, по крайней мере на его дистрибутивную часть, изменение этих файликов словаря никак не повлияет, он ими просто не пользуется. Зачем их нужно править руками - тоже честно говоря не пойму, обычно куда проще внести нужные изменения в словарь DEF, после чего повторить его выгрузку в DDF.
Почему править не дает - трудно сказать, вообще из RS-Bank DDF выгружаются в открытом виде, без всяких там паролей.
>> ОтветитьКонечно, это обычный файл Pervasive ( Ltybc 09.04.2015 16:21 )
5(1)Но он явно открыт системой при работе и скорее всего залочен. Так что вряд ли получится его просто так поменять.
А насчет пароля, то есть owner, ты не прав - попробуй выполнить butil -SETOWNER на одном из этих файлов.
>> Ответить