我有一个使用最大数据库大小为4096kB的SQL Server CE数据库。当我插入一行时,我按预期得到以下错误:
数据库文件大于配置的最大数据库大小。 此设置对第一个并发数据库连接生效 只要。 [所需的最大数据库大小(以MB为单位;如果未知则为0)= 4092]
所以,我试图通过删除一些行,发出正常的SqlCeCommand
来处理这个问题。问题是即使是通过ExecuteNonQuery
执行的delete命令,当它已满时也会抛出此错误。
我该如何解决这个问题?
答案 0 :(得分:0)
如何尝试使用sqlcecmd这样的命令行工具来缩小数据库,释放空间以减小其整体大小?这应该释放足够的空间,然后删除任何无关的行。
sqlcecmd.exe -d "Data Source=C:\YourDatabase.sdf" -e shrink
如果您遇到此问题,是时候切换到可以处理更大数据库的SQL平台(SQL Server就是一个明显的例子)。
修改强>
如果您正在使用SqlCeEngine
对象,则表明您也可以执行此操作programmatically:
SqlCeEngine engine = new SqlCeEngine("Data Source = C:\YourDatabase.sdf");
engine.Shrink();