سؤال

لقد نقلنا مؤخرًا مشروع تطوير تطبيق ClickOnce الحالي من Visual Studio 2005 إلى VS 2010. نظرًا لمشكلة الترقية مع Visual Studio 2010 ، كان علينا ترقية قاعدة بيانات SQL CE من V3.1 إلى V3.5.

لتجنب صداع ترحيل البيانات ، قمنا بنسخ قاعدة البيانات السابقة للمستخدم إلى مجلد التثبيت الجديد في كل مرة يتم فيها نشر تحديث ClickOnce. إذا كان هناك أي تغييرات DB ، فإننا نصنعها في معالج أحداث ISFirstrun للتطبيق.

ولكن الآن ، نظرًا لأننا قمنا بتغيير إصدار قاعدة البيانات وملفات SQL CE .DLL المنتشرة ، فهذا يعني أن جميع عملائنا الحاليين سينتهي بهم المطاف مع إصدار قاعدة البيانات الخاطئة.

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

سؤال: هل هناك طريقة لترقية قاعدة البيانات الموجودة في المكان بشكل برمجي؟

شكرًا

لا يوجد حل صحيح

نصائح أخرى

فيما يلي مقالان قد تجدهما مفيدة. الأول هو كيفية تضمين SQLCE DLL مع نشرك بدلاً من نشره كشرط أساسي ؛ يمنحك هذا التحكم الكامل في الإصدار الذي تقوم بتشغيله.

http://robindotnet.wordpress.com/2010/02/28/how-to-deploy-the-sqlserver-compact-edition-software-locally/

المقالة الثانية تدور حول كيفية الحفاظ على بياناتك آمنة من تحديثات ClickOnce.

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

بالتأكيد ، استخدم واجهة برمجة تطبيقات ترقية SQLCEENGINE ، حتى تدعم ترقيات في مكانها: http://erikej.blogspot.com/2010/08/how-to-prograde-3x-database-file.html

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