PDA

View Full Version : روش های آپدیت کردن برنامه



behnam-soft
یک شنبه 18 خرداد 1393, 19:30 عصر
سلام خدمت دوستان عزیز.
من در سیستم مشتری، برنامهای که نوشتم رو نصب کردم و الان بعد از تقریبا 1 سال، لازمه تا به برنامه قابلیت های جدید اضافه کنم، آپدیت کردن برنامه که فقط جایگزین کردن فایل EXE میشه و سوالی هم در این مورد نیست، سوال من اینه که من در بانک اون نرم افزار کلی تغییرات دادم،بطور مثال، کلی از اسم استور پراسیجر ها رو تغییر دادم، اطلاعاتی رو از یه سری جداول پاک کردم، یه سری کلید های اصلی و اینا تغییر کردن، به یه سری جدوال ستونهایی رو اضافه کردم، که البته اس کیو ال سرور 2008 مجبورم کرد برای تغییر در ستون های اون جدول، اطلاعاتش رو کلا پاک کنم! و منم پاک کردم ! الان که دیگه بانکم طراحیش (درسترش، آپدیتش) تموم شده، چطور می تونم کاری کنم که در سیستم طرف، بدون اینکه اون اطلاعات قبلیش حذف بشه، بانکش رو آپدیت کنم؟ البته اگر تاپیک رو جای اشتباه زدم عذرخواهی می کنم، دیدم تاپیک مربوط به SQL خیلی کم رفت و آمده!
ممنون از راهنمایی دوستان.

behnam-soft
سه شنبه 20 خرداد 1393, 14:18 عصر
دوستان کسی اطلاعاتی در این مورد نداره؟

behnam-soft
چهارشنبه 21 خرداد 1393, 18:45 عصر
عجبا! تاپیک برای چند روز پیشه اما دریغ از یه جواب!

Amir4317
چهارشنبه 21 خرداد 1393, 18:55 عصر
در پاسخ شما بصورت خیلی کلی این طوری میشه گفت:

1. از یک برنامه میانجی استفاده کنید تا برنامه قبلی را شناسایی کنه
2. اطلاعات قبلی را به اطلاعات جدید تبدیل کنه
3. برنامه‎ی جدید رو با برنامه قبلی جایگزین کنه

طرح روش و اجرا از خودتون
بسم الله

shahryari
چهارشنبه 21 خرداد 1393, 19:12 عصر
قبلا در N تا تاپیک بحث شده و در تاپیک های من هم یک کامپوننت کامل به همراه نمونه با کلی امکانات نوشتم

behnam-soft
چهارشنبه 21 خرداد 1393, 19:28 عصر
دوست عزیز shahryari (http://barnamenevis.org/member.php?246498-shahryari) ممنون میشم یه لینک بهم بدی چون من سرچ کردم چیزی پیدا نکرد.ضمنا مشکل اصلی من فقط با بانکه نه با خود برنامه!

shahryari
چهارشنبه 21 خرداد 1393, 20:04 عصر
اتفاقا بانک از همه راحت تره ...
اسکریپت همه تغییرات را در یک فایل ذخیره کن و در سیستم مشتری با osql.exe اجرا کن
مثال:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "osql.exe";
startInfo.Arguments = "-E -S . -i "+ Application.StartupPath + "\\sql.sql";
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true ;
Process p = Process.Start(startInfo);
p.WaitForExit();

behnam-soft
پنج شنبه 22 خرداد 1393, 15:21 عصر
ببینم منظورت از " اسکریپت همه تغییرات "، اسکریپت کل بانکه؟ من فقط بلدم از کل بانک اسکریپت بگیرم، که ضمنا اگر بخوام این اسکریپت رو هم در سیستم مشتری اجرا کنم که داده هایی که خودم تو بانک پاک کردم هم اونجا پاک میشه که !
بعد اون osql.exe که نوشتی نمی دونم چی هست! ممنون میشم راهنمایی کنی.

shahryari
پنج شنبه 22 خرداد 1393, 16:00 عصر
کل بانک نه
اسکریپت اون قسمتهای جدید یا اون قسمتهایی که آلتر میکنی رو در داخل فایل با فرمت sql بنویس و osql.exe هم برنامه اجرای دستورات اسکیوال تحت کامند لاینه که همراه با اسکیوال روی سیستم نصب میشه

behnam-soft
پنج شنبه 22 خرداد 1393, 22:47 عصر
ببخشید اگه من زیاد سوال می پرسم، اسکریپتی که میگی رو راهی داره که خود اس کیو ال سرور بهم بده و من نخوام دستی کد بنویسم؟ چون اینجوری کلی باید وقت بذارم ببینم کجاها رو تغییر دادم!
ضمنا osql.exe رو از کجا میشه اجراش کرد ؟؟! من پیداش نکردم!:لبخند:

shahryari
جمعه 23 خرداد 1393, 10:29 صبح
توسط خود کامند پرامپت اجرا میشه
در خط فرمان بنویس osql -E -S و یک دات بذار یا نام سرورتو بنویس و اینتر کن
سپس دقیقا میتونی مثل محیط اسکیوال سلکت و اینسرت و دلیت و هرکاری انجام بدی
در این مورد خاص شما براساس کدهای پست شماره 7 عمل کنید

behnam-soft
جمعه 23 خرداد 1393, 11:50 صبح
به جای این روشی که شما میگی(که البته یکم برای من سخته) نمیشه کوئری تغییرات رو به عنوان یه فایل متنی بدیم به بانک تا با اجرا کردنش کل این کار ها انجام بشه؟ دیگه درگیر این همه پیچیدگی و محیط کامند هم نمیشیم!

shahryari
جمعه 23 خرداد 1393, 16:56 عصر
به جای این روشی که شما میگی(که البته یکم برای من سخته) نمیشه کوئری تغییرات رو به عنوان یه فایل متنی بدیم به بانک تا با اجرا کردنش کل این کار ها انجام بشه؟ دیگه درگیر این همه پیچیدگی و محیط کامند هم نمیشیم!

خب در پست شماره 7 هم همین کار رو توضیح دادم دیگه ...
کی گفت با محیط کامند کار کنید؟؟
شما گفتید osql.exe چیکار میکنه من هم یک مثال ساده با محیط کامند توضیح دادم
پست شماره 7 رو بدقت بخونید