جزءا لا يتجزأ من قاعدة البيانات .الصافية التي يمكن تشغيلها خارج الشبكة

StackOverflow https://stackoverflow.com/questions/705

سؤال

كنت (وما زلت) تبحث عن جزءا لا يتجزأ من قاعدة البيانات لاستخدامها في .net (c#) التطبيق.التحذير:تطبيق (أو على الأقل قاعدة البيانات) يتم تخزينها على محرك أقراص شبكة ، ولكن تستخدم فقط من قبل المستخدم 1 في وقت واحد.

الآن, كانت فكرتي الأولى SQL Server Compact edition.هذا هو لطيف حقا integreated ، ولكن لا يمكن تشغيل الشبكة.

فايربيرد يبدو أن لديه نفس المشكلة ولكن .صافي التكامل يبدو أن ليس حقا من الدرجة الأولى و هو غير موثقة إلى حد كبير.

Blackfish SQL تبدو مثيرة للاهتمام, ولكن لا يوجد أي محاكمة .النسخة الصافية.التسعير هو أيضا موافق.

أي اقتراحات أخرى من شيء يعمل بشكل جيد مع .صافي و يعمل خارج الشبكة دون الحاجة إلى تثبيت الواقع خادم البرنامج ؟

هل كانت مفيدة؟

المحلول

سكليتي جاء إلى ذهني عند قراءة سؤالك و أنا متأكد تماما أنه من الممكن الوصول إليه من محرك أقراص شبكة إذا يمكنك الحفاظ على نفسك على قيد 1 مستخدم في وقت واحد.

سكليتي على .صافي - الحصول على وتشغيلها في 3 دقائق

نصائح أخرى

أنصح ميزة خادم قاعدة البيانات (www.advantagedatabase.com).انها ناضجة جزءا لا يتجزأ من DB مع دعم كبير و يمكن الوصول إليها من العديد من اللغات التنمية بالإضافة إلى .صافي."المحلية" نسخة مجانية يعمل داخل التطبيق الخاص بك في شكل DLL, لا يتطلب أي تثبيت على الملقم/مشاركة الشبكة, ويدعم جميع الرئيسية DB الميزات.يمكنك تخزين DB و/أو تطبيق جميع الملفات على الشبكة ؛ لا يهتم فيها البيانات.

تنويه:أنا مهندس في الإعلانات R&D الفريق.أعدك أنني الصخور :)

يبدو ADO/وصول مثالية لتلبية الاحتياجات الخاصة بك.إنه خبز في MS المكدس ، متمرس جيدا و متعدد المستخدمين.

يمكنك برمجيا إنشاء DB مثل ذلك:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

ثم يمكنك استخدام القياسية ADO.NET أساليب التفاعل مع قاعدة البيانات.

يمكنك استخدام فايربيرد embeded, انها مجرد dll التي سوف تحتاج إلى السفينة مع التطبيق.

حول ما يجري لا يحملون وثائق, هذا ليس صحيحا حقا ، فايربيرد .صافي سائق تنفذ اللغط واجهات, لذلك إذا كنت تعرف اللغط يمكنك العمل مع فايربيرد ، أساسا بدلا من SQLConnection سوف تستخدم FBConnection وهلم جرا ، ولكن نصيحتي هي أن تكتب طبقة الوصول إلى البيانات واستخدام مجرد واجهات على التعليمات البرمجية الخاصة بك, شيء مثل هذا:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

هذا المثال بسيط جدا ولكن لن تحتاج أكثر من ذلك بكثير.

نحن نستخدم فايربيرد لدينا جميع التطبيقات من دون أي مشاكل ، يجب على الأقل محاولة ذلك.

تحقق من VistaDB.لديهم منتج جيد جدا ، server الإصدار (3.4) في بيتا و هو قريب جدا من الافراج عنه.

تأخرت قليلا في الرد هنا..و VistaDB هو سبق ذكره ، ولكن أردت أن أشير إلى أن VistaDB 100% المدارة (منذ وظيفة معلم .net).فإنه يمكن تشغيلها من محرك أقراص الشبكة المشتركة ، 1MB xcopy نشرها.

بما أنك ذكرت SQL CE ، ونحن نؤيد أيضا T-SQL جملة و أنواع البيانات (في الواقع أكثر من SQL server CE) و قد للتحديث وجهات النظر ، tsql ضمن Procs وغيرها من الأشياء المفقودة في SQL server CE.

لماذا لا تستخدم SQL Server 2005 Express edition?

أنها حقا يتوقف على ما تعنيه "جزءا لا يتجزأ" - ولكن يمكنك توزيع SQLServer2005E مع التطبيقات الخاصة بك و المستخدم لن تعرف أنها هناك.

دمج SQL Server Express في التطبيقات

دمج SQL Server Express في التطبيقات المخصصة

أنا في حيرة.

كنت أطلب embeded قاعدة البيانات حيث قاعدة البيانات نفسها المخزنة على الخادم.أن يترجم إلى تخزين بيانات الملف على مشاركة شبكة اتصال.ثم نقول أن SQL server Compact Edition لن تعمل...إلا أنه إذا نظر المرء في هذه الوثيقة:

مستند Word:
اختيار بين SQL Server 2005 ضغط Edition و SQL Server 2005 Express Edition

في الصفحة 8 لديك لطيفة كبيرة علامة خضراء بجانب "البيانات تخزين الملف على مشاركة شبكة اتصال".

لذلك يبدو لي أن الفكر الأول كان على حق واحد.

هناك أيضا فالنتينا.أنا كام هـ عبر هذا المنتج عندما كنت أعمل على بعض الحقيقي المشروع الأساسية.RB الإصدار هو جيد جدا.

هل يعتبر OODB?من مختلف المصادر المفتوحة بدائل أوصي db4o (آسف على تعزيز الذات :)) والتي يمكن تشغيلها إما مضمن أو في وضع العميل/الخادم.

أفضل

أدريانو

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top