Измена с IB9.0.3 / IB10 — BASE64

Сегодня с утра дожал изменения связанные с переездом на VS2010 и после этого запустил базовые тесты для Interbase 9.0.3 / Firebird 2.5 / Yaffil. С IB меня ждал сюрприз.

При получении списка всех колонок базы данных, провайдер возвращает такую коллекцию ошибок:
1. «DBCHEMA_COLUMNS: Ошибка при формировании сведений для [RDB$ENCRYPTIONS][RDB$ENCRYPTION_VALUE]»
2. «Неизвестное имя кодовой страницы [BASE64]»

Полез в системные таблицы. Колонки
1. RDB$ENCRYPTIONS::RDB$ENCRYPTION_VALUE
2. RDB$ENCRYPTIONS::RDB$ENCRYPTION_SALT
3. RDB$ENCRYPTIONS::RDB$ENCRYPTION_PASSWORD2
переведены на новую кодовую страницу — BASE64

В Interbase 9.0.0 эти колонки имеют кодовую страницу NONE

В последнем IB (v10) — BASE64

В документациях IB9.0.3/IB10 — про BASE64 ни слова.


Если вы используете IBProvider с IB9.0.3/IB10 — укажите в строке подключения «schema_cache=0». Это изменит режим загрузки метаданных и провайдер не будет грузить описания колонок таблицы RDB$ENCRYPTIONS.


Мне бы пора бы уже философски относится к таким изменениям (оно же все к лучшему), но почему то все равно тянет грязно выругаться. Пожалуй не буду себя сдерживать — дабы не отравлять свой организм этими не высказанными словами.

One Comment

Про Interbase и текстовые блобы | Блог разработчика IBProvider | Инновации для Firebird и Interbase  on 20 ноября, 2010

[…] поддержку BASE64, о которой я написал в предыдущем сообщении, я начал писать тесты для этой кодовой […]

Leave a Comment