Различия в наборах результатов на ПК с базой данных SQL Server Compact и на мобильном устройстве

Интересная проблема: у меня есть база данных SQL Server CE 3.5 с некоторыми данными. Я выполняю запрос к базе данных с помощью мобильного устройства и получаю набор результатов.

В 99% случаев это работает нормально, но иногда я получаю записи в базе данных, где запрос возвращает пустой набор результатов.

Если я беру копию того же файла базы данных со своего мобильного устройства и подключаюсь к нему с помощью анализатора запросов, а затем запускаю тот же запрос точный (как скопированный / вставленный из отладчика), запрос возвращает записи. Сам запрос выполняет JOIN и GROUP BY для двух таблиц с помощью поля ссылочного ключа идентификации.

Теперь, если я сделаю клон тех же записей, задействованных с помощью серии:

INSERT INTO MyTable (EntireFieldListExceptForIDKey)
    SELECT 
        (EntireFieldListExceptForIDKey) 
    FROM 
        MyTable 
    WHERE 
        IDKey = Original

Теперь запрос может правильно собрать набор результатов для клонированных записей на мобильном устройстве.

Может ли кто-нибудь объяснить это и, возможно, как обнаружить / преодолеть?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
22
1

Ответы 1

Скорее всего, это связано с повреждением индекса, так как копирование файла на рабочий стол и создание новой таблицы вызовут перестроение индекса.

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

K gotcha, я открываю термоусадочную пленку, которой, как я считал, было достаточно.

Dave Monkman 19.11.2018 20:30

@DaveMonkman Пожалуйста, отметьте это как ответ, если он решил вашу проблему - TIA

ErikEJ 05.01.2019 13:10

Другие вопросы по теме