PDA

View Full Version : Sql Server Compact Edition



سعید صابری
پنج شنبه 24 اردیبهشت 1388, 18:03 عصر
سلام دوستان

دوستان اگه كسي لطف كنه اطلاعاتي درباره اين ورژن از sql دارده لطف كنه راهنمايي كنه ممنون دانلودش كردم حدود 37 مگابايت اما نصبش مي كنم هيچگونه فايل اجرايي يا ميانبري براي كار باهاش ايجاد نمي كنه

ممنون از راهنماييتون

bardia goharbin
جمعه 25 اردیبهشت 1388, 08:19 صبح
این نسخه نمونه ي جمع و جور Sql Server 2008 هستش كه براي كسايي كه به همه ي امكانات ور‍ژن كامل احتياج ندان بهترين گزينه است. حجمش هم 2 مگابايته تقريبا و قابلیت استفاده در شبکه رو نداره و Portable هم هست و نیازی به سرور نداره.
دیتابیسی که برای Compact Edition ساخته میشه با دیتابیس سایر Edition ها فرق میکنه. و پسوند فایلهای آن sdf است و نمی تونید یک دیتابیس عادی SQL Server را به Compact Edition پیوست کنید. باید یا از اول دیتابیس را برای Compact Edition طراحی کنید، یا دیتابیس را به دیتابیس مربوط به Compact Edition تبدیل کنید.
در Compact Edition چیزی به اسم Attach نداریم، بلکه شما آدرس فایل بانک اطلاعاتی را میدید، و به بانک اطلاعاتی وصل میشید. یک چیزی شبیه به اتصال به بانک اطلاعاتی اکسس.
کلاسهای مورد استفاده در برنامه نویسی و استفاده از این نوع دیتابیس با کلاسهای SqlClient متفاوت است. و دلیل عدم وجود Managment Studio برای Compact Edition هم به همین مورد بازمیگردد.
Compact Edition نیاز به نصب نداره، فقط کافی هست فایل های DLL آن را که تعدادشان 6-7 عدد هست (کلا زیر 2 مگابایت) در یکی از مسیرهای قابل دسترسی توسط ویندوز (مثل پوشه نصب برنامه خودتان، یا پوشه Windows، و غیره) کپی کنید. اون برنامه هم برای انجام کارش نیاز داره بدونه فایل های DLL مورد نظر را کجا کپی کردید، تا بتونه توابع موجود در آنها را فراخوانی کنه. اون مرحله هم برای همین در Wizard گذاشته شده.
البته غیر از این، خودِ مایکروسافت هم یک افزونه Design Tools برای Compact Edition ارائه میکنه که روی Management Studio نصب میشه.

لذا اگر نیاز به قابلیتهای کامل SQLServer دارین نسخه های بالاتر رو نصب کنید.

این هم یک نمونه Insert در Compact Edition


using System.Data.SqlServerCe;

public void Insert()
{
using (SqlCeConnection ceConn = new SqlCeConnection("Data Source=SQLCEDB.sdf"))
{
using (SqlCeCommand ceComm = new SqlCeCommand
("INSERT INTO TABLENAME (FIELD1,FIELD2,FIELD3) VALUES (@VAL1,@VAL2,@VAL3)"))
{
ceComm.Parameters.Add("@VAL1", System.Data.SqlDbType.NVarChar).Value = "VAL1";
ceComm.Parameters.Add("@VAL2", System.Data.SqlDbType.NVarChar).Value = "VAL2";
ceComm.Parameters.Add("@VAL3", System.Data.SqlDbType.NVarChar).Value = "VAL3";
ceComm.Connection = ceConn;
ceComm.CommandType = System.Data.CommandType.Text;
ceComm.ExecuteNonQuery();
}
}
}


گفته های فوق برگرفته از این تاپیک بوده است (http://www.barnamenevis.org/forum/showthread.php?t=138679&highlight=compact)

سعید صابری
جمعه 25 اردیبهشت 1388, 10:30 صبح
سلام
ممنون از جوابتون
اگر لطف كنيد طريقه استفاده در برنامه‌نويسهاي مختلفن مثل دلفي ذكر كنيد ممنون ميشم من هيچ منبعي را در اين مورد پيدا نكردم

bardia goharbin
جمعه 25 اردیبهشت 1388, 16:26 عصر
استفاده از دلفی و Compact Edition جالب از کار درنمیاد و بهتره اگر با دلفی کار میکنید فعلا دست از سر Compact Edition بردارید چون اگر از دلفی استفاده می کنید، ADO نمی تونه به Compact Edition وصل بشه، و باید از کامپوننت های شرکت Devart مثل SDAC یا UniDac برای اتصال به Compact Edition استفاده کنید.