Я ищу некоторые подсказки или приемы для этой дизайнерской задачи, с которой я сталкиваюсь:
Мне нужно замаскировать два поля varbinary одинакового размера, хранящиеся в базе данных. Просто чтобы уточнить, нет, это не «таблица разрешений» или что-то в этом роде. Я бы нормализовал базу данных для таких элементов, а эти данные не могут быть нормализованы. Я храню поле varbinary для динамического хранения битов, которые генерирует наше приложение. Я также ищу эти биты с помощью другого запроса varbinary. В .net я использую тип BigInteger для обработки всех битовых масок, и он отлично справляется со своей задачей, однако я думаю о том, чтобы перенести этот процесс на сервер базы данных, чтобы отфильтровать результаты, прежде чем передать их обратно вызывающей стороне. Прямо сейчас я поддерживаю тип поля до varbinary(512) и захочу использовать операторы AND и OR и иметь возможность сравнить, сделал ли это ЛЮБОЙ (OR) или ВСЕ (AND) биты в правостороннем операторе. через. MSDN говорит, что вы можете использовать varbinary() с правым оператором max bigint, однако мне нужно превысить это.
Хороший ресурс, который я нашел, - это сообщение в блоге Адама Маханика по этой теме, но я хочу посмотреть, есть ли другие подходы, прежде чем я буду копаться в нем.
Это будет для SQL 2005 или выше. Если в 2008 году есть функция, не найденная в 2005 году, меня это устраивает, просто я еще не смог ее идентифицировать.
Любые подсказки или уловки приветствуются.
Спасибо.
Трэвис Уидден