PDA

View Full Version : سوال: چطوری میشه از دیتابیس موجود در App_Data در هاست استفاده کرد؟



pbm_soy
جمعه 25 آذر 1390, 19:53 عصر
سلام

برای ارسال یا ساخت دیتابیس mssql در هاست چه روشی بهتر است؟ یا بگیم راحتتر و کم دردسر تر است؟

بیشتر توضیحات دوستان در این انجمن از دیتابیس موجود در aPP_dAta استفاده نمی کنند !
1- چرا استفاده نمی شود ؟؟
2- خود ویژوال استودیو برای پروژه های وب اتوماتیک این فولدر را برای پروژه ایجاد می کند و یک کانکشن استرینگ ساده در وب کانفیگ مینویسد این مورد برای چیست وقتی قابل استفاده در دنیای واقعی (در هاست) نباشد ؟؟؟؟!
3- حتی فولدر App_Data در برخی از هاستها وجود دارد مثل هاستهای با کنترل پنل Plesk ولی باز بیشتر دوستان از این روش استفاده نکردند!!!!
چرا ! آیا این امکان وجود ندارد ویا اینکه نمیشود به این روش استفاده کرد؟؟؟

aminghaderi
جمعه 25 آذر 1390, 23:26 عصر
راه درست و اصولیش همون هست که خودتون می فرمایید ، حالا چرا دوستان استفاده نمی کنند خوب بحثش فرق می کنه.
اما جز کارهای امنیتی معمولا مشکلی پیش نمی یاد .

fakhravari
شنبه 26 آذر 1390, 01:28 صبح
با سلام
فکر کنم برای وب منجر خیلی کارها اسونتر میشود.

pbm_soy
شنبه 26 آذر 1390, 15:31 عصر
من سایت رو publish آپلود کردم و همینطور دیتابیس رو در فولدر App_Data آپلود کردم ولی مشکل دارم !! و فکر هم می کنم از Connectionstring خطا می گیرد چون این استرینگ رو بدون تغییر من در وب کانفیگ گذاشتم که بصورت لوکال مشکلی نداشت!!!
البته در کانکشن استرینگ آدرس سرور بصورت زیر است
(local)\sqlexpress
البته بخش sqlexpress رو حذف کردم باز مشکل داشت مشکل این بود که فایل دیتابیس را نمی توانست اتچ کند از مسیر datadirectory !!!!

البته روشهایی که دوستان در تاپیکهای دیگه فرمودند همه درست است و جواب داد بنده مشکلی ندارم ولی این روش رو در واقعیت می خواستم امتحان کنم !!!

fakhravari
شنبه 26 آذر 1390, 16:40 عصر
من سایت رو publish آپلود کردم و همینطور دیتابیس رو در فولدر App_Data آپلود کردم ولی مشکل دارم !! و فکر هم می کنم از Connectionstring خطا می گیرد چون این استرینگ رو بدون تغییر من در وب کانفیگ گذاشتم که بصورت لوکال مشکلی نداشت!!!
البته در کانکشن استرینگ آدرس سرور بصورت زیر است
(local)\sqlexpress
البته بخش sqlexpress رو حذف کردم باز مشکل داشت مشکل این بود که فایل دیتابیس را نمی توانست اتچ کند از مسیر datadirectory !!!!

البته روشهایی که دوستان در تاپیکهای دیگه فرمودند همه درست است و جواب داد بنده مشکلی ندارم ولی این روش رو در واقعیت می خواستم امتحان کنم !!!
ایران هاست به این روش کار نمیکند و وب منیجر ارائه کرده.
شاید روش که شما میگیر خوب باشه اما چون ما ریموت وصل میشیم به دیتابیس امنیت برفقرار باشه:متفکر:و کنترل هم بهتر صورت میگیره در محیط وب منیجر.

جالا مشکل شما باید ببنید هاست به چه شکل دیتابیس مدیریت میکنه

aminghaderi
شنبه 26 آذر 1390, 20:28 عصر
ایران هاست به این روش کار نمیکند و وب منیجر ارائه کرده.
شاید روش که شما میگیر خوب باشه اما چون ما ریموت وصل میشیم به دیتابیس امنیت برفقرار باشهو کنترل هم بهتر صورت میگیره در محیط وب منیجر.
جالا مشکل شما باید ببنید هاست به چه شکل دیتابیس مدیریت میکنه
اکثر هاستینگ ها وبمنجر دارند ، اصلا باید داشته باشند ، یه چیز ضروری هست ، اما روشی که این دوستمون می گه کاملا با این موضوع فرق می کنه.
حالا بماند که چرا توی این دنیای پرپیچ خم نرم افزار از اسکیوال اکسپرس استفاده می کنند به جای اسکیوال سرور نمی دونم؟!


من سایت رو publish آپلود کردم و همینطور دیتابیس رو در فولدر App_Data آپلود کردم ولی مشکل دارم !! و فکر هم می کنم از Connectionstring خطا می گیرد چون این استرینگ رو بدون تغییر من در وب کانفیگ گذاشتم که بصورت لوکال مشکلی نداشت!!!
البته در کانکشن استرینگ آدرس سرور بصورت زیر است
(local)\sqlexpress
البته بخش sqlexpress رو حذف کردم باز مشکل داشت مشکل این بود که فایل دیتابیس را نمی توانست اتچ کند از مسیر datadirectory !!!!

البته روشهایی که دوستان در تاپیکهای دیگه فرمودند همه درست است و جواب داد بنده مشکلی ندارم ولی این روش رو در واقعیت می خواستم امتحان کنم !!!
100% از کانکشن استرینگ و دستور Atach شماست.
ببینید تصوری که خیلی از برنامه نویسان نسبت به وجود اسکیوال اکسپرس و اسکیوال سرور دارند کاملا اشتباهه!
ماکروسافت اسکیوال اکسپرس رو برای راحتی کار برنامه نویس و عدم درگیر کردن اون با مقوله مهندسی دیتابیس که یه مقوله سنگینی هم هست و نیاز به تخصص داره ، طراحی و پیاده سازی کرده.
حالا روش به این صورت هست که شما به عنوان برنامه نویس از پایگاه اکسپرس بروی رایانه خود استفاده می کنید و سایت یا حالا نرم افزار رو پیاده سازی و اجرا می کنید.
حالا بعد از تست اولیه سایت ، شما باید سایت رو بروی سرور قرار دهید ، در اینجاست که شما باید کاکشن استرینگتون رو تغیر بدید ، و پایگاه تولید شده را بروی اسکیوال سروری که بروی سرور نصب هست و اتفاقا نسخه اصلی و کاملا ریجستر شده هم هست ، Atach کنید!
این خیلی مهم هست معمولا در صد زیادی از برنامه نویسان این موارد رو نمی دونند ! و لقمه رو دور سر خودشون می چرخوانند....

البته راه های دیگری هم هست یعنی گرفتن اسکریپت از پایگاه سیستم و ساخت دیتابیس بروی سرور توسط همون اسکریپت و همچنین برگرداند Backup و .... راه های دیگر + راه های من در آوردی .

ولی به نظر من این روش از همه روش ها سریعتر و راحت تر هست ولی خوب هنوز هم تاکید می کنم برای سایت های امنیتی بهتر است ، از این روش استفاده نشود ، توضیحاتش رو هم می تونید تحقیق کنید.

موفق باشید.

dontspeak
شنبه 26 آذر 1390, 21:29 عصر
سلام دوستان. اول شرمنده از اینکه کل متنها رو نخوندم چون زمانش رو ندارم. اما یه نگاه سر سری انداختم ظاهرا مشکل با قرار دادن دیتابیس هست اونم دیتابیس اکسپرس. برای اینکار اول روی دیتابیستون راست کلیک کنید و publish to provider رو بزنید و کلا تا آخرین مرحله فقط next رو بزنید تا یه فایل با پسوند sql براتون درست کنه. حالا توی هاستتون یه دیتابیس با یه یوزر درست کنید. از sqlmanagement برای برقراری ارتباط با دیتابیس روی هاست استفاده کنید. برای ارتباط باید ip هاستتون رو بعنوان سرور نیم و یوزر و پسوردی که درست کردید رو بعنوان نام کاربری استفاده کنید. بعد از لاگین از قسمت سمت چپ پنجره دیتابیس خودتون رو انتخاب کنید و از قسمت بالا سمت چپ گزینه new query رو انتخاب کنید. حالا یه صفحه سفید در وسط پنجره باز میشه. اگه یادتون باشه یه فایل sql درست کرده بودید اونو با نوت پد یا نوت پد پلاس پلاس باز کنید. محتویات داخلش رو بدوت تغییر کپی بگیرید و عینا داخل همون صفحه سفید کپی کنید و یک دور این کدها رو اجرا کنید. مدتی طول میکشه تا دیتابیستون آماده بشه. حالا کافیه کانکشنتون رو تغییر بدید که یه چزی توی این مایه ها باید بشه:
<add name="ConnectionString" connectionString="Server=88.88.888.88;Database=YourDBName;User ID=YourUserName;Password=YourPassword;Trusted_Conn ection=False;" providerName="System.Data.SqlClient"/>
کهیوزر نیم و پسورد و نام دیتابیس همونهاییه که توی هاست درست کردید. و یه نکته هم در مورد امنیت خوندم که باید بگم این روش کاملا امن و بی خطره و هیچ مشکلی وجود نداره

pbm_soy
دوشنبه 28 آذر 1390, 12:06 عصر
با تشکر از دوستان

من تمام این روشها رو بروی هاستهای مختلف امتحان کردم چون از جاهای مختلف هاست گرفتم و مشکلی با این روشها ندارم و همه روشهای درست واستاندارد واصولی است

فقط این روش فولدری App_Data برام سوال بود ؟! چون این فولدر در بیشتر هاستها هم وجود داشتند!!!
البته یه مورد دیگه رو باید امتحان کنم اونم اینه که در زمان ایجاد پروژه وب سایت در VS بجای فایل سیستم مستقیم آدرس FTP رو بدم و ایجاد کنم و در همون زمان هم اگه دیتابیس رو توسط خود VS درست کنم احتمالا به نتیجه درست برای این روش میرسم

البته هنوز امتحان نکردم کسی امتحان نکرده ؟؟؟

aminghaderi
دوشنبه 28 آذر 1390, 13:46 عصر
البته هنوز امتحان نکردم کسی امتحان نکرده ؟؟؟
http://barnamenevis.org/showthread.php?318933-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A7%D8%B4%DA%A9%D8%A7%D9%84-%D8%AF%D8%B1-Atach-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%D8%B1-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%BE%D9%86%D9%84-Plesk
این لینک رو ببین شاید براتون مفید باشه ، البته جواب سوال شما نیست ولی دیدتون رو باز می کنه.
حد اقل می تونید توضیحی راجب به چار چوب کار پلسک پیدا کنید.
البته کنترل پنل سایت ها زیاد هستند و این یکی از 4 تا 5 تای موفق که بروی هاست های ویندوز موجود هست.
امیدوارم مفید باشه.