PDA

View Full Version : ساخت دیتابیس Asp-Membership توسط MsSql2005



shahab2005
چهارشنبه 08 اردیبهشت 1389, 11:00 صبح
سلام
امکانش هست دیتابیسی که توسط سیستم membership در پوشه appdata و توسط sqlexpress2005 ایجاد میشه را در msSql2005 ایجاد کرد ؟

(نسخه express امکان آپلود رو هاست رو نداره)

اگه جواب سوال دوم مثبته ، این دیتابیس با حجم 10 مگ ساخته میشه؟ بصرفه هست که نصف حجم فضای دیتابیس رو رو هاست بگیره؟

تو مثال های سورس باز ، دیتابیسی که سیستم کاربری مشابه این سیستم دیدید؟

سوال اولم مهمتره

تشکر

ahmad_roushan
چهارشنبه 08 اردیبهشت 1389, 11:15 صبح
بله امکانش هست فایل aspnet_regsql.exe رو از مسیر
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
اجرا کن یه ویزارد هست که پیکر بندی رو به طور اتوماتیک برات انجام میده .
راجع به سوال دومت من با دات نت 2 و sqlserver 2008 حجم دیتابیسم 4 مگابایت شد .
البته توی دات نت 4 تعداد جداولی که میسازه از این کمتره .

shahab2005
چهارشنبه 08 اردیبهشت 1389, 12:26 عصر
تشکر
دیتابیس رو ساختم حجمش کمتر از 3 مگ بود

چطوری provider رو ست کنم.
وقتی با کنترل createuser کاربر ایجاد می کنم تو دیتابیس express میره و تو قسمت administrator tools هم گشتم و کاربر و رل و ... ایجاد کردم ولی نتونستم به دیتابیس خودم در mssql ربطش بدم

ahmad_roushan
پنج شنبه 09 اردیبهشت 1389, 10:48 صبح
خواهش می کنم ، باید بری توی web.config و از اونجا connection string رو تغییر بدی .

Alireza_Salehi
پنج شنبه 09 اردیبهشت 1389, 11:21 صبح
VisuaStudio Command Prompt را از طریق منوی استارت باز کنید
تایپ کنید:
aspnet_regsql

مراحل را طی کنید تا دیتابیس ساخته شود

برای تنظیم پرووایدر هم به MSDN مراجعه کنید و همان را در web.config خودتان کپی کنید، سپس با تنظیمات خودتان جایگزین کنید:
http://msdn.microsoft.com/en-us/library/system.web.configuration.membershipsection.aspx
http://msdn.microsoft.com/en-us/library/system.web.configuration.rolemanagersection%28v=VS .100%29.aspx
http://msdn.microsoft.com/en-us/library/system.web.configuration.profilesection%28v=VS.100 %29.aspx
http://msdn.microsoft.com/en-us/library/system.web.configuration.healthmonitoringsection%2 8v=VS.100%29.aspx

قبل از همه پرووایدر ها هم یک <clear/> قرار دهید بهتر است

shahab2005
پنج شنبه 09 اردیبهشت 1389, 14:21 عصر
مشکل دیتابیس حل شد. لاگین و ... هم درسته.
1-
اگه بخوام چندتا فیلد کاربری مثل نام و فامیل و .... داشته باشم. باید یه جدول دیگه بسازم یا می تونم تو جدول aspnet.Users فیلد اضافه کنم؟
با این همه رلیشن حذف و آپدیت تو جدول جدید سخت نیست؟
2-
رو سیستم من sql2000,2005,express نصبه.
sqlexpress دیتابیس های aspnet رو باز نمی کنه. 2005 نمی تونه دیاگرام ریلیشن بسازه و باید براش تو 2000 ساخت. اینا طبیعیه؟

raziee
پنج شنبه 09 اردیبهشت 1389, 15:34 عصر
-
اگه بخوام چندتا فیلد کاربری مثل نام و فامیل و .... داشته باشم. باید یه جدول دیگه بسازم یا می تونم تو جدول aspnet.Users فیلد اضافه کنم؟
با این همه رلیشن حذف و آپدیت تو جدول جدید سخت نیست؟
شما جداول مربوط به خودتون رو میسازید و بعد به یکی از جداول مثلا aspnet_Users ارتباط میدید.


sqlexpress دیتابیس های aspnet رو باز نمی کنه. 2005 نمی تونه دیاگرام ریلیشن بسازه و باید براش تو 2000 ساخت. اینا طبیعیه؟
من که با باز کردن و .... مشکلی ندارم.

shahab2005
پنج شنبه 09 اردیبهشت 1389, 18:46 عصر
جدول members و users که رلیشن دارن فیلد کلیدشون userID هست که یونیک هست و باید هم باشه ( چون به نظر من این دو تا جدول در اصل یه جدول بودن که دوتا شدن و رابطه یک به یک دارن)
حالا من که میخوام جدول سومی مثلا userProfiles اضافه کنم و با این جدولا رابطه یک یه یک داره و با فیلد کلید userID باید به UserID یکی از این دوتا مثل جدول users رابطه داشته باشه
اگه سیستم دست من بود همزمان تو سه تا جدول با شناسه یکسان درج می کردم (که این کار رو کلاس membership داره انجام میده) ولی من برای درج اطلاعات جدول سوم(userProfile) چه کنم ؟
شاید بگید آخرین فیلد رو بگیره و خودت درج رو انجام بده ولی اگه روی سایت با ثبت همزمان چند کاربر باشه جواب میده؟
من می خوام وقتی کاربر ثبت نام می کنه و این دو تا جدولش فیلدش پر میشه جدول سوم هم با مقادیر پیش فرض پر بشه تا بعد از کاربر بخوایم اطلاعات اون رو تکمیل کنه (که بروزرسانی میشه)
فیلد userID رو کاربر تازه ثبت شده را باید با select Top 1 بگیرم؟

shahab2005
شنبه 11 اردیبهشت 1389, 17:14 عصر
من بی خیال این روش شدم
مثل همه از همون Profile استفاده می کنم.
این سوال من چند بار دیگه پرسیده شده بود (منم با یه زبون دیگه پرسیدم) و لی هیچ کسی نتونسته بود بگه چجوری یه جدول سومی برای سایر مشخصات کاربر بسازیم و همه یا از روی دانش یا از روی بی حوصلگی گفته بودن پروفایل
ولی بعضی جاها گفته شده بود پروفایل خوب نیست.
فقط یکی که حرفه ای هست بگه پروفایل کلا خوبه یا نه (جدا از این فکر کنه برای پروژه چندهزار کاربره هست) . ما که روی پروفایل کار می کنیم ولی وجدانا یه استاد تائید کنه ما خیالمون راحت بشه.

برای کار با سیستم membership هم بهترین لینکی که من دیدم، این بود
http://www.4guysfromrolla.com/articles/120705-1.aspx

تشکر

Alireza_Salehi
شنبه 11 اردیبهشت 1389, 18:58 عصر
استفاده از پروفایل راحته ولی کارائیش به علت تبدیل فیلدهای پروفایل به رشته و بالعکس پائینه

به راحتی با اضافه کردن یک جدول که کلیدش UserId باشه می توانید Membership را توسعه دهید.

اگر خودتون کنترل ثبت نام نوشتید پس از استفاده از متد CreateUser شناسه کاربر رو پیدا می کنید و از طریق اون USerId رو بدست میارید.

اگر از CreateUserWizard استفاده کردید، در رویداد CreatedUser می توانید پس از ایجاد کاربر USerId رو استخراج و به جدول مورد نظر رکورد اضافه کنید.

چند تا Sp و متد هم باید برای کار با جدول سوم اضافه کنید.

ahmad2asp
دوشنبه 19 دی 1390, 20:38 عصر
شما مطمن هستین که اسکیو ال اکسپرس توی هاست جواب نمیده؟؟؟
آخه من با همین مشکل مواجه شدم
چند جا سرچ کردم نوشته بود با اتچ کردن و بک آپ و ری استور میشه
منم خاستم این کارو بکنم که اس کیو ال اکسپرس بک آپ نداره و اسکیو ال منجمنت اسدیو رو از توی یکی از پوستا دانلود کردم
حالا نمیدونم چجوری دیتابیسم رو به منجمنت اد کنم.و بک آپ بگیرم.
یکی یه راهنمایی کلی بکنه اگه میشه تو پیام شخصیم هم بفستین .
ممنون