SqlServerCE версия 3.5 с пакетом обновления 2 (SP2) - размер файла базы данных превышает настроенный максимум - PullRequest
1 голос
/ 16 марта 2011

Вот пример кода того, как я создаю / подключаю / работаю с моей базой данных

string connection = @"Data Source='C:\test.sdf';Max Database Size=4000;"
    + "Max Buffer Size=4096;";
File.Delete(@"C:\test.sdf");
using (var engine = new SqlCeEngine(connection))
{
    engine.CreateDatabase();
    engine.Compact("Data Source=; Case Sensitive=True; Max Database Size=4000;");
}

using (var dbConn = new SqlCeConnection(connection))
{
    // Create tables, indexes, etc, and insert loads of data here
    // Somewhere in the loading of data I get
    // the "Database file is larger..." exception
}

Вот мой вопрос.Размер файла базы данных в момент исключения составляет всего 368 МБ (386 879 488 байт, если быть точным в соответствии со свойствами файла).Нужно ли добавлять строку максимального размера базы данных в оператор Compact?

Любые другие идеи о том, что может быть не так.

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Значение по умолчанию для максимального размера базы данных составляет 256 МБ, поэтому да, вам необходимо добавить это в строку подключения, если размер файла увеличивается по сравнению с этим.

0 голосов
/ 09 октября 2012

Как сказал ErikEJ, строка подключения должна быть такой:

"Источник данных = MyData.sdf; Максимальный размер базы данных = 256 ; Постоянная информация о безопасности = False;"

, где вы можете заменить 256 на нужный размер.

...