PDA

View Full Version : بازهم مسئله نصب دیتابیس همراه setup برنامه



fereshte22
چهارشنبه 09 آبان 1386, 21:21 عصر
سلام
خوب در مورد اتصال دیتابیس به setup ای که برای برنامه های خودمون میسازیم در سایت خیلی صحبت شده .
از جمله اقای ثباتی در این مورد دوستان را راهنمایی کرده اند.
از جمله راهنمایی زیر:


شما میتونین فایل دیتابیس رو کپی کنین و بعد از اطمینان از اینکه سرویس SQL Server استارت شده، بوسیله sp_attach_db دیتابیس رو نصب کنین. تنها مشکل بر سر اجرای SP هستش که راههای مختلفی وجود داره. مثلا یک فایل EXE از قبل نوشته باشین که این کار رو انجام بده و از داخل Setup فقط اون رو Call کنین


ولی متاسفانه من نمیدونم که این مراحل را چطور باید اجرا کنم.مثلا اینکه فرمودند به وسیله sp_attach_db دیتابیس را نصب کنیم.
و یا اینکه فایل exe از قبل نوشته باشم
من اصلا نمیدونم باید چی کار کنم.؟؟؟
میشه بیشتر و کاملتر توضیح دهید.
در ضمن من فایل setup را از طریق vs2005 و برای یک برنامه تحت وب ساخته ام.
خیلی ممنون میشوم

fereshte22
جمعه 11 آبان 1386, 16:35 عصر
سلامممنون میشوم دوستان عزیز مخصوصا آقای ثباتی من را کمک کنند .اگر لینک مفیدی هم در این زمینه معرفی کنند خیلی خوب است.

ardavan
شنبه 12 آبان 1386, 14:38 عصر
خیلی ساده است
اول اینکه اگه فایل پایگاه تکی از دستور sp_attach_single_file_db
استفاده کنید . پارامتر اول نام پایگاه و دوم آدرس فایل
@dbname
@physname
برای اینکارم با ید به یکی از پایگاه های اصلی دیتابیس وصل بشید(Master)ویا
به وسیله کنسول هم می تونید کارو بکنید.
Exec sp_attach_single_file_db 'mydbname' ,'c:\mydb.mdf' 1

fereshte22
شنبه 12 آبان 1386, 18:48 عصر
سلام
راستش چیزی که باعث شده بود مسئله برام مبهم باشد این بود که من فکر میکردم بدون نصب sqlserver هم میتوان کاری کرد که برنامه اجرا شود ولی ظاهرا حتما باید sqlserver نصب باشد.
درسته؟
خوب حالا من از sp_attach_db استفاده کردم و مشکلی در این مورد ندارم.
ولی دو تا مشکل دیگه دارم و اون هم این است که این sp را چطور در برنامه setup فراخوانی کنیم؟
آقای ثباتی فرموده بودن که با یه فایل exe این کار را انجام بدهیم.
ولی من نمیدونم محتویات این فایل exe به چه صورت باید باشد؟و چه طوری sp را فراخوانی کند؟؟
در ضمن وقتی ما دیتابیس را بر روی سیستم دیگری attach میکنیم connectionstring ما تغییر میکند.برای حل این مشکل باید چی کار کنیم؟

fereshte22
یک شنبه 13 آبان 1386, 15:42 عصر
سلام
خواهش میکنم دوستان در مورد فراخوانی این sp من را راهنمایی کنند.
همچنین در مورد تغییر connectionstring که در بالا هم مطرح کردم
ممنون

پرواز
یک شنبه 13 آبان 1386, 21:09 عصر
فراخوانی sp :
تو هر زبانی که برنامه می نویسید یه پروژه جدید بسازید و sp مورد نظر رو در رویداد Create فرم اصلی فراخوانی کنید و پس از اجرای موفقیت آمیز بطور خودکار برنامه رو ببندید. می تونید برنامه رو بصورت Hide اجرا کنید.
ConnectionString:
فقط چندتا پارامتره که توی کانکشن استرینگ تاثیر داره و اونو تو هر سیستمی متفاوت می کنه که می تونید اونا رو به طور داینامیک مقداردهی کنید. تا اونجایی که من اطلاع دارم این پارامترا عبارتند از: User ID و Password و Data Source و Workstation ID.

fereshte22
یک شنبه 13 آبان 1386, 23:04 عصر
سلامدوست عزیز نمیدونم منظور شما را درست متوجه شدم یا نه؟منظور شما از رویداد create این است که در قسمت کدهاش یه کدی بنویسیم که این sp را فراخوانی کند؟بعد از اجرای این برنامه چه اتفاقی میافتد ؟میشه بیشتر توضیح دهید؟

پرواز
دوشنبه 14 آبان 1386, 01:45 صبح
منظور من از رویداد Create این بود که هنگام اجرای برنامه بصورت خودکار برنامه بیاد این sp رو فراخوانی کنه. یعنی کاربر نخواد دخالتی داشته باشه. حالا شما هر رویدادی رو خواستی انتخاب کن.
بعد از اجرای این برنامه چه اتفاقی میافتد ؟میشه بیشتر توضیح دهید؟
خوب معلومه بعد از فراخوانی sp همون چیزی که شما تو sp خواستید عملی میشه (بانک شما Attach میشه)!!!
و همونطور که گفتم برنامه رو هم می تونید به طور خودکار ببندید.