Нет, речь идет не о запросах или BLOB.
Базы данных Firebird имеют несколько режимов, один из которых «только для чтения».В этом режиме никакие изменения в базе данных не допускаются.
Вы можете использовать утилиту gfix
для изменения этого режима базы данных.Вы также можете использовать соответствующее меню в IBExpert и других инструментах разработки, которые используют Firebird Services API
Сама ссылка, которую вы разместили - http://www.firebirdfaq.org/faq359/ - говорит, что:
Itне означает, что файл базы данных доступен только для чтения, но он (база данных) содержит метку только для чтения
- gfix -mode read_only / path / to /database.fdb
- gfix -mode read_write /path/to/database.fdb
См. также https://www.firebirdsql.org/manual/gfix-dbmode.html
См. также https://www.ibexpert.net/ibe/pmwiki.php?n=Doc.DatabaseProperties
По касательным вопросам:
набор символов, используемый для моей базы данных
Согласно вашему тексту, он НЕТ.
Комуесли быть точным, база данных не использует некоторые кодировки.Это каждый текстовый столбец (char / varchar / blob sub_type text).Но обычно разработчик не заботится об указании отдельных кодировок для каждого столбца, поэтому они наследуют эту кодировку по умолчанию.
Читайте также: https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-ddl-tbl.html#fblangref25-ddl-tbl-character
метаданные говорят: «Набор символов по умолчанию НЕТ»
Это настолько близко к "кодировке базы данных", насколько это возможно.
Конечно, это только по умолчанию единица, и вы можете переопределить его при создании столбцов, но я не думаю, что ты сделал.Так что, вероятно, все ваши текстовые столбцы имеют кодировку "NONE".
Это довольно опасный параметр, означающий, что все тексты в таких столбцах хранятся в виде необработанного байтового дампа, и надеется, что приложение правильно угадает, как преобразовать байты в буквы ибуквы в байтах.
Подробнее: https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-chartypes.html
По умолчанию Flame Robin не показывает кодировку, но, возможно, в разделе DDL это произойдет.http://www.flamerobin.org/images/screenshots/0.6.0/gtk2/property_page.png
IBExpert делает: https://www.ibexpert.net/ibe/uploads/Doc/dmiles783.gif
(набор символов соединения)
.... is not "набор символов, используемый базой данных", это набор символов, используемый, ну, в общем, соединением вашего приложения (например, IBConsole или FlameRobin или IBExpert) с базой данных.Вы должны установить его в свойствах подключения каждого приложения.Самый простой вариант - UTF-8, но если у вас есть столбцы NONE-charset, он может потерпеть неудачу ...
Например, в FR: http://www.flamerobin.org/images/screenshots/0.7.1/winxp/databaseinfo.png
Вы можете использовать monitoring tables
для запросадля идентификатора набора символов вашего CURRENT_CONNECTION
, см. больше в https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref-appx05-monattach.html