PDA

View Full Version : تغییر محل دیتابیس کاربران



bardia goharbin
یک شنبه 22 بهمن 1385, 20:03 عصر
من وقتی سایتم را آپلود کردم چگونه میتوانم مسیر جدید فایل aspnetdb.mdf را که مربوط به کاربران است و در پوشه App_Data وجود دارد را تغییر دهم. چون الان روی LocalHost کار میکنه ولی وقتی Upload میکنم مسیر مطمئنا عوض میشه.
الان دستور ارتباط به صورت زیر است :

Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Visual Studio 2005\WebSites\MyWeb\App_Data\ASPNETDB.MDF";Integrated Security=True;User Instance=True
که نمیدانم وقتی روی هاست میرود باید چگونه تغییر یابد.
سئوال بعدی من این است که اگر از این دیتابیس و این روش برای دسترسی کاربران استفاده کنیم حتما باید هاست ما Sql2005 را پشتیبانی کند یا با Sql2000 هم کار میکند. چون دیتابیس اصلی من Sql2000 است نمیخواهم این دستابیس Sql2005 باشد

Alireza_Salehi
یک شنبه 22 بهمن 1385, 20:49 عصر
باید پایگاه داده تون رو روی هاست ایجاد کنید (معمولا با Backup- بعضی هاست ها هم خودشون ایجاد میکنند- با EM هم میشه) ، هاست هم اطلاعاتی برای وصل شدن به دیتابیس بهتون میده مثل نام سرور نام پایگاه داده نام کاربر و کلمه عبور که باید از این اطلاعات برای ساختن کانکشن استرینگ استفاده کنید.

data source='نام یا آی پی سرور;User ID='نام کاربر';Password=کلمه عبور;database='نام دیتابیسنوعش دیتابیس هم هر چه هست همون رو باید از هاست در خواست کنید!

peymannaji
یک شنبه 22 بهمن 1385, 20:53 عصر
ممنون از راهنماییتون ... یک سوال داشتم با توجه به گفته شما " معمولا با Backup- بعضی هاست ها هم خودشون ایجاد میکنند "
یعنی من باید فایل Backup بانک اطلاعاتیم رو بهش معرفی کنم ؟

bardia goharbin
یک شنبه 22 بهمن 1385, 21:02 عصر
من پایگاه داده ام رو بر روی هاست انتقال داده ام و فقط این دیتابیس چون بصورت جداگانه است و بصورت Microsoft SQL Server Database File (SqlClient) استفاده میشه میخواستم بدونم که چطوری مسیری که الان داره رو تغییر بدم. آیا در WebConfig باید تغییرات را بدهم یا جای دیگر.
من با دیتابیسی که در SqlServer کار میکند مشکلی ندارم و راحت مسیرهای آن را در WebConfig مشخص میکنم ولی این مورد رو توش موندم.

Alireza_Salehi
یک شنبه 22 بهمن 1385, 21:07 عصر
با توجه به کنترل پتل سایتتون باید ببینید چه امکاناتی به شما داده ، مثلا بعضی هاست ها خودشون دیتابیس رو ایجاد کرده اند و به شما اجازه میدن با Restore کردن Backup دیتابیس خودتون رو به اون دیتابیس وارد کنید، یا مستقیما فایل MDF رو Import کنید (Attach)، یا می تونید از سیستم خودتون با اطلاعاتی که از هاست میگیرید مستقیما از طریق EM دیتابیس رو دستکاری کنید.

فکر کنم اگر با پشتیبانی تماس بگیرید و راهنمایی بخواهید زود تر به نتیجه برسید.

Alireza_Salehi
یک شنبه 22 بهمن 1385, 21:11 عصر
من پایگاه داده ام رو بر روی هاست انتقال داده ام و فقط این دیتابیس چون بصورت جداگانه است و بصورت Microsoft SQL Server Database File (SqlClient) استفاده میشه میخواستم بدونم که چطوری مسیری که الان داره رو تغییر بدم. آیا در WebConfig باید تغییرات را بدهم یا جای دیگر.
من با دیتابیسی که در SqlServer کار میکند مشکلی ندارم و راحت مسیرهای آن را در WebConfig مشخص میکنم ولی این مورد رو توش موندم.

باید دیتابیس رو توی سرور اضافه کنید (به روش هاییی که گفتم)
فقط کافیه کانکشن استرینگ رو تغییر بدید(حالا هر جا که هست- تو کدتون تو وب کانفیگ)

bardia goharbin
دوشنبه 23 بهمن 1385, 09:20 صبح
دقیقا حق با علیرضا صالحی عزیز بود ، این فایل باید در SqlServer مربوط به Host اضافه بشه، حالا یا این کار توسط خود شما در کنترل پنل سایتتون انجام میشه یا فایل رو به ادمین Host میدید و ایشون این کارو براتون انجام میده و ConnectionString جدید رو که از Host میگیرید که مربوط به دیتابیس اعتبارسنجی کاربران aspnetdb.mdf است و اون رو بصورت ذیل در WebConfig معرفی کنید. نکته ای که من باهاش مشکل داشتم نحوه معرفی مسیر جدید در WebConfig بود که با کمک علیرضا بصورت ذیل حل شد.



<connectionStrings>
<add name="MembersConnectionString" connectionString="Data Source=INTEL;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<authentication mode="Forms" />
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MembersConnectionString"
applicationName="MyApplication"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
<system.web>