DB2 VARCHAR Unicode хранилище данных - PullRequest
5 голосов
/ 12 сентября 2011

В настоящее время мы используем VARCHAR для хранения текстовых данных в DB2, однако мы сталкиваемся с проблемой, заключающейся в том, что указанная длина VARCHAR отличается от длины текста, поскольку в DB2 указана длина VARCHAR - длина данных UTF-8, которая может варьироваться в зависимости от сохраненные текстовые данные. Например, некоторые тексты содержат символы из разных языков, и поэтому некоторые тексты с 500 символами не могут быть сохранены в VARCHAR (500) и т. Д.

Теперь мы планируем перейти на VARGRAPHIC. Мне нужно знать, каковы ограничения использования VARGRAPHIC для хранения текстовых данных Unicode в DB2. Есть ли проблемы с использованием VARGRAPHIC?

1 Ответ

2 голосов
/ 18 сентября 2011

DB2 не проверяет, что данные на самом деле являются двухбайтовой строкой, но предполагает, что это так.Обычно драйверы будут делать правильные преобразования для вас, но вы можете однажды наткнуться на какую-то ошибку.Хотя вряд ли.

Если вы используете федеративные базы данных, поддержка Vargraphic в запросах может полностью потерпеть неудачу.В целом количество отчетов об ошибках для типов данных vargraphic несколько велико.Поддержка этого, вероятно, не так хорошо протестирована и опробована, как для других типов данных.

В Vargraphic будет с базой данных Unicode (т. Е. UTF-8 - это требование) использовать UCS-2 с прямым порядком байтов, что означает ваши требования к пространствудля этих столбцов двойной.Vargraphic - это правильный тип данных DB2.Если вы однажды мигрируете с DB2, вам придется выполнить дополнительное преобразование.

...