В Oracle у вас есть два подхода. Если у вас есть полный контроль над сервером базы данных, я предлагаю вам просто изменить набор символов по умолчанию, то есть значение параметра NLS_CHARACTERSET
, и оставить остальные элементы базы данных без изменений. Использование обычных столбцов CHAR / VARCHAR2 предлагает более широкий набор функций (например, полнотекстовое индексирование).
Если вы не имеете полного контроля над сервером или вам необходимо поддерживать совместимость со старыми, не многобайтовыми приложениями, вам придется проверить значение параметра NLS_NCHAR_CHARACTERSET
и изменить все содержимое базы данных, чтобы Типы данных NCHAR / NVARCHAR2.
Вот еще один вопрос, который подчеркивает различия:
Разница между VARCHAR2 (10 CHAR) и NVARCHAR2 (10)
И последнее, но не менее важное: вот несколько полезных запросов:
SELECT * FROM NLS_DATABASE_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_SESSION_PARAMETERS;
Примечание: я не могу помочь с инструментом миграции или компонентами SQL Server, извините.