SQLCE چیست؟
ُSQL Compact Edition نسخه ای بسیار ابتدایی اما پرقدرت از SQL Server میباشد که به صورت یک فایل جداگانه عمل میکند و نیاز به نصب SQL Server ندارد. این دیتابیس فقط یک فایل با پسوند sdf هست و برای اجرا نیاز به دات نت فریمورک دارد. برای استفاده از این دییتابیس باید توجه داشت که به هیچ وجه توانایی های SQL Server رو نداره و محدودیتهایی در کانکشنهای همزمان داره.
بنابراین به هیچ وجه در اپلیکیشن های متوسط تا بزرگ نباید استفاده شه چون اصلا نتیجه مطلوبی نداره. اما اگر نرم افزار گسترده نیست و استفاده خیلی کم و کاربران محدود داره میشه به سادگی از SQLCE استفاده کرد. برای استفاده از این دیتابیس فقط کافی هست ابزارهای مربوطه رو که شامل VS2010 SP1 و SQL Compact Tools هست رو نصب کنید. از WebPI استفاده کنید.
استفاده از SQLCE در ASP.Net
به دلیل محدودیتهایی که این دیتابیس داره، به صورت پیشفرض استفاده از SQLCE در پروژه های ASP.Net غیر فعال هست و اگر بخواهید به این دیتابیس متصل بشید معمولا با خطای زیر مواجه خواهید شد:
System.Data.SqlServerCe.SqlCeException: Access to the database file is not allowed
بنابراین برای استفاده از SQLCE باید در ابتدای اجرا شدن اپلیکشین به دات نت فریمورک بفهمونیم که میخواهیم از این دیتابیس استفاده کنیم و از محدودیتها هم با خبر هستیم! برای این کار باید در global.asax و در قسمت Application_Start عبارت زیر را وارد کنیم:
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)
نکته دیگری که باید به آن توجه کنید تنظیمات مربوط به سطح دسترسی و Permission در سرور میزبانی سایت شما هست که باید Write Permission برای فایل sdf وجود داشته باشد.