Delphi 2009 и Firebird 2.1 = полный Unicode?

Посмотрите на настройку конфигурации org.hibernate.envers.do_not_audit_optimistic_locking_field.

Этот параметр конфигурации определяет, будет ли Hibernate Envers включать аннотированное поле @Version в схему аудита или нет. По умолчанию настройка установлена ​​на true, что означает, что поле оптимистической блокировки не будет проверяться. Установив значение false, вы будете проверять значение столбца.

Я хочу предупредить вас о настройке этого поля на false.

Если ваше приложение выполняет явную функцию приращения оптимистической блокировки, это приведет к добавлению дополнительных строк в таблицу истории аудита, даже если ни один из других столбцов базы данных не будет изменен как часть вашего бизнес-процесса. Это связано с тем, что после того, как вы включили отслеживание @Version полей, Hibernate Envers просто обрабатывает их как любой другой базовый атрибут объекта. Следовательно, принудительное приращение оптимистической блокировки приведет к изменению аудита.

6
задан RRUZ 15 April 2011 в 06:30
поделиться

3 ответа

Используйте UTF8 в качестве набора символов для Вашей базы данных Firebird. Это - единственная опция так или иначе, которая поддерживает все возможные символы, поскольку UNICODE_FSS является вещью прошлого.

Это однако ортогонально к Вашему вопросу о создании программ Unicode с Delphi. Даже для новой программы Delphi Ansi с помощью набора символов UTF8 был бы наилучший вариант, поскольку можно перевести программы Ansi (например, использующий GNU gettext для Delphi http://dybdahl.dk/dxgettext/) на другие языки, и только с базой данных UTF8 можно сохранить весь текст, который может быть отправлен в базу данных, в зависимости от кодовой страницы Windows. Альтернатива должна была бы использовать различные наборы символов базы данных для различного развертывания, и затем Вы больше не можете просто обмениваться файлами базы данных или перемещать данные между установками без первого перекодирования ее.

Поскольку Ваша техническая разработка делает также уверенными, что Ваша программа администрирования баз данных работает безупречно с базами данных UTF8. Так как большинство из них записано в Delphi, у Вас могут быть проблемы, если он не использует способные к Unicode средства управления.

4
ответ дан 17 December 2019 в 00:16
поделиться

это - "края" приложения, где Вы будете видеть проблемы (чтение/запись файла, DLLs, устройство хранения данных, и т.д.).

файлы ini: я мигрировал от TIniFile (ansi только) к TMemIniFile (не забывайте называть UpdateFile).

что касается части Firebird Вашего вопроса, у меня нет опыта с этим.

2
ответ дан 17 December 2019 в 00:16
поделиться

Насколько я знаю единственную часть Delphi 2009, который не является включенным unicode, консольные функции как readln и writeln. Остальные должны быть полностью unicode.

1
ответ дан 17 December 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: