Внесение изменений в системные 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 на одном из этих файлов.
          >> Ответить