В настоящее время наша база данных использует Win1252 как единственную кодировку символов. Нам скоро придется поддерживать Unicode в таблицах базы данных, а это означает, что мы должны выполнить эту миграцию для четырех баз данных и около 80 приложений Delphi, которые работают внутри компании в среде 24/7. Существуют ли рекомендации для миграции баз данных в UTF-8 (или UNICODE_FSS) для приложений Delphi? Некоторые вопросы, перечисленные ниже. Большое спасибо за ваши ответы!Delphi dbExpress и Interbase: шаги и риски миграции UTF8?
- есть инструменты, которые помогают с миграцией существующих баз данных (размеры от 250 МБ до 2 ГБ, без Blob полей), путем сброса данных, воссоздавать базу данных с UNICODE_FSS или UTF-8, и загрузка данных обратно?
- есть известные проблемы с Delphi 2009, dbExpress и Interbase 7.5, связанные с наборами символов Unicode?
- Вы бы рекомендовали обновить базы данных до Interbase 2009? (Это обновление запланировано, но не имеет высокого приоритета)
- мы можем просто перенести базу данных, и Delphi будет обрабатывать наборы символов Unicode автоматически или нам нужно будет изменить все типы полей символов в каждом Datamodule (dfm и исходный код) тоже?
- , какую стратегию вы бы рекомендовали для работы по миграции параллельно с нормальной разработкой и обслуживанием существующего приложения? Приложение работает внутри компании, поэтому разработка и администрирование баз данных осуществляются внутри компании.
Update: С InterBase обсуждения темы форума: Unicode Databases in InterBase - Really? (это не поток от меня, но это показывает, что некоторые проблемы все еще существуют в InterBase XE).
Вот некоторые сообщения я представил: QC# 92867 - строковые поля пустых приходят из Фототуров только если View включает в себя соединение, и при использовании ClientDataSet. Это было найдено как отсутствующих данных по нескольким из моих отчетов, , которые больше не работают.
QC#91494 - IB данные столбцов символов символьных полей (например: Символьная (1)) являются дополненными пробелами при извлечении через хранимые процедуры. Неисправности тестов - например: If Active = "Y". Я активно использую хранимые процедуры с формами , и они не работают.
QC#91355 - IBSqlMonitor не работает. Выход IBSqlMonitor несколько искаженный, делая этот инструмент бесполезным. (Итак, даже моя лопата сломана!)
Непосчитанные - постоянные поля в Ошибка TClientDataSet для TWideString.
Прочие связанные записи КК:
QC#94455 SQL Unicode Char Тип Failure (InterBase XE)