Стоит FB 2.1.1.17910.
При сравнении структур баз - "разработчик"/"боевая"(3й диалект использую IBExpert(- на других базах все ok)) получается ошибочный скрипт - проблема в "русских" текстах
Фрагмент скрипта -
if (vDateParamIsn is null) then execute procedure sys_error('Не найден коэффициент метода. '||:pmethodcoefisn);
-- Определяем дату расчета коэффициента VDate
База создана в FB 2.1, проблем с разработкой нет(при подключении указана кодировка WIN1251, перекомпиляция, редактирование процедур проходит нормально)
В чем может быть проблема? (смотрел http://www.ibase.ru/firebird/21/metadata_charset.htm, select * from rdb$check_metadata ошибок не дает, backup/restore проходит нормально. Смущает один момент - в скрипте отсутсвует SET NAMES WIN1251; )
Сравнении структур баз
Re: Сравнении структур баз
Ситуация прояснилась. Базу создавал не я, при ее создании указали кодировку NONE, а все подключения ставят WIN1251. Разработка идет нормально, но при сравнении структур - оно идет в NONE - с соответствующим результатом. Сейчас воспроизвел эту ситуацию(при создании указал NONE, при подключении WIN1251 - создал процедуру с русским текстом, сделал копию базы, поменял текст, сравнил структуры и получил тот же результат - не читаемый русский текст). Теперь вопрос как исправить эту проблему - пока только вариант - через извлечение метаданных, создание с "правильной" кодировкой и переливании данных. Или есть еще варианты?
И самое гадкое -нигде невидно, что база была создана в NONE
И самое гадкое -нигде невидно, что база была создана в NONE
Re: Сравнении структур баз
я бы пересоздал базу и перелил данные , чтоб в будущем меньше спотыкаться.
Re: Сравнении структур баз
видно в rdb$database. там поле специальное есть, в котором указано, в каком чарсете создана база. Но вообще это фигня, потому что подсоединяться можно с любым чарсетом, и создавать объекты тоже с любым чарсетом.И самое гадкое -нигде невидно, что база была создана в NONE
читай www.ibase.ru/devinfo/ibrusfaq.htm
а перевод на 1251 - да, базу в скрипт, если небольшая, и пересоздать.
Re: Сравнении структур баз
Да. поменял в rdb$database значение поля RDB$CHARACTER_SET_NAME с NONE на WIN1251 - IBExpert стал нормальный скрипт делать Но все равно - пересоздал базу и перелил данные - так спокойнее Получается что IBExpert при сравнении баз цепляется к ним не как указано в настройках подключении, а как прописано rdb$database.
Re: Сравнении структур баз
нет.Получается что IBExpert