Что вызывает «Не удалось загрузить библиотеку сжатия базы данных» и как я могу это исправить? - PullRequest
0 голосов
/ 28 декабря 2011

В компактном фреймворке .NET 3.5, работающем в Windows Mobile 5, мы видим следующее сообщение об ошибке:

Could not load database compaction library. Operation has been aborted.
   at System.Data.SqlServerCe.SqlCeEngine.ProcessResults(IntPtr pError, Int32 hr)
   at System.Data.SqlServerCe.SqlCeEngine.Repair(SEFIXOPTION option, String dstConnStr, RepairOption repairOption)
   at System.Data.SqlServerCe.SqlCeEngine.Compact(String connectionString)

in:

SQL Server Compact ADO.NET Data Provider

Приложение выдает команду на сжатие файла базы данных SQL Server Compact и получает ответ об ошибке выше.

Сообщение об ошибке появляется периодически; иногда компактная операция завершается, а иногда регистрируется вышеприведенная ошибка.

Поиск этого сообщения об ошибке приводит к некоторым результатам, которые предполагают, что причиной является нехватка памяти (или правильный тип памяти), но эта ошибка не возникает последовательно на всех платформах устройства. Некоторые устройства Windows Mobile от определенного производителя никогда не получают эту ошибку, а устройства других производителей имеют эту ошибку чаще, чем нет.

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Необходимо установить файл .repl cab на устройстве, например: sqlce.repl.ppc.wce5.armv4i.CAB

1 голос
/ 28 декабря 2011

Похоже, это происходит в результате того, что вы ввели в базу данных какую-то опцию repair .

Вы пытались написать блок try...catch вокруг рассматриваемой операции?

Было бы полезно посмотреть, какой код на самом деле вызывает ошибку. Знание того, какой метод выдает ошибку, может очень помочь.

Это действительно больше комментарий, но он слишком длинный, чтобы поместиться в разделе комментариев.

EDIT:

Привет, Ричард,

Не думаю, что это ваш вопрос на MSDN, не так ли? >> ССЫЛКА << </a> Это еще в 2009 году.

Я также нашел >> ЭТОТ ПОСТ << </a> на dbaspot.com, который ссылается на устройство, исчерпывающее память. Сколько «материала» на вашем устройстве разработки?

...