Это интересная статья. У меня не было таких проблем с последней увеличенной базой данных (запущенной A2003 с SQL Server Express 2008 R2), и я не предоставил значение по умолчанию для логических полей. Мне нужно сделать проверку, но если бы произошла упомянутая проблема, я бы получал отчеты об основных ошибках за последние 6 месяцев (чего у меня нет), так что, похоже, что-то еще происходит , Возможно, что-то изменилось между SQL 2005 и 2008. Интересно, все ли в ваших таблицах есть поле PK и поле метки времени?

е, я не единственная, кто сталкивается с этой проблемой, но, похоже, этой проблемы нет.

Я работаю в Access 2010, используя связанную таблицу с базой данных SQL Server 2005 (через канал ODBC SQL Server). В этой таблице одно из логических полей помечено как обнуляемое, и несколько записей в этой таблице фактически имеют нулевое значение в поле. Все идет нормально.

Приходит Access, и как только вы открываете связанную таблицу, Access отображает 0 (false) вместо пустой ячейки (проблема # 1). И если вы попытаетесь что-либо изменить в записи, вы получите сообщение об ошибке, в котором говорится, что запись была изменена кем-то другим, и ваши изменения не могут быть сохранены. Эта последняя проблема связана с тем, что Access не допускает пустые поля bool и немного сбивается с толку при попытке сохранить значение.

Мои исследования показывают, что это может быть как-то связано с Access, использующим Jet в фоновом режиме для подключения к базе данных SQL Server, и Jet, по-видимому, не поддерживает допустимые значения bool. Кажется, нет способа настроить Jet для поддержки этого (хотя, возможно, есть, если вы подключаетесь в коде). Я также думал, что MS заменяет Jet другой технологией, используемой в Office 2010 (ACE, я думаю), но не могу сказать, действительно ли это то, что на самом деле используется Access. В любом случае, я не могу найти никаких настраиваемых опций, относящихся к обнуляемым bools.

Наконец, эта проблема, кажется, была доведена до MS недавно, но с их стороны нет ответа:https://connect.microsoft.com/SQLServer/feedback/details/617339/null-bit-fields-produce-spurious-ms-access-errors-when-using-the-native-odbc-driver?wa=wsignin1. 0 # закладки

Мне интересно, сталкивался ли кто-нибудь еще с этим и нашел решение. И прежде, чем вы предложите это, отключение опции nullable и установка всех значений null в значение «false» в нашем случае не совсем вариант. Для нас null на самом деле является допустимым состоянием и очень отличается от 'false.

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос