PDA

View Full Version : سوال: خطای اتصال پایگاه داده بر روی هاست



xxxsenatorxxx
سه شنبه 08 مرداد 1392, 10:17 صبح
سلام و خسته نباشید
من یه سایت نوشتم (asp 4 و sql 2008 r2) رو کامپیوتر بدون خطا جواب میده ولی روی هاست میگه نمیتونه به پایگاه داده وصل بشه یا نمیتونه لاگین بشه!!!!
پیغام خطا روی 2 هاست مجزا

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)





Cannot open database "dbNews" requested by the login. The login failed.
Login failed for user 'OWNEROR-KOG3VGQ\IWAM_plesk(default)'.



چندتا سوال
آیا رشته اتصالم رو تو web.config درسته:

<connectionStrings>
<add name="dbNewsConnectionString" connectionString="Data Source=.\MSSQLSERVER2008;Initial Catalog=dbNews;Provider=sqloledb;Integrated Security=True;User Id=test;Password=test"/>
</connectionStrings>


تو صفحه هام هم اینجوری ارجاع دادم:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:dbNewsConnectionString %>"

تو app code هم تابع رشته رو اینجوری تعریف کردم
public static string Connection_String()
{
return "Data Source=.;Initial Catalog=dbNews;Integrated Security=True";
}

رشته اتصال رو به نوع هایی که خود هاست میده هم تغییر دادم همین خطا رو میده
اصلا دیتا بیس هم اپلود نمیکنم باز همین خطا رو میده

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

farhud
سه شنبه 08 مرداد 1392, 10:31 صبح
اول اينکه رشته اتصال شما بايد دقيقا مطابق با نمونه رشته اتصالي باشه که هاست ميگه.
دوم اينکه معمولا در رشته اتصال در هاست integrated security=true را نمي‌خواهد.
سوم اينکه به نظر خيلي عجيب مياد که بايد با کاربر sa کانکت بشي، در اين زمينه مطمئني؟
چهارم اينکه کنترل پنل هاست چي هست؟ پلسک، وب سايت پنل و ...؟

xxxsenatorxxx
سه شنبه 08 مرداد 1392, 10:42 صبح
اول اينکه رشته اتصال شما بايد دقيقا مطابق با نمونه رشته اتصالي باشه که هاست ميگه.
دوم اينکه معمولا در رشته اتصال در هاست integrated security=true را نمي‌خواهد.
سوم اينکه به نظر خيلي عجيب مياد که بايد با کاربر sa کانکت بشي، در اين زمينه مطمئني؟
چهارم اينکه کنترل پنل هاست چي هست؟ پلسک، وب سايت پنل و ...؟

رشته اتصال رو دقیق با مال سایت یکی کردم باز نشد.integrated security=true iهم گذاشتم هم برداشتم بازم نشد.تو قسمت دیتا بیس هاست رو دیتا بیس میزنم نوشته Owner :sa و تو قسمت لاگین دیتا بیس هم یوزر من وجود داره هم یوزر sa (ربطی به sql کامپیوترم نداره؟؟). parallel plesk

xxxsenatorxxx
سه شنبه 08 مرداد 1392, 10:56 صبح
یه سایت نوشته برای خواندن رشته configaration setting رو اینجوری بنویسید

configarationmanager.connectionstring["myconction string"].conectionstring;

من اصلا همچین چیزی ندارم!!!!

aliblue
سه شنبه 08 مرداد 1392, 11:12 صبح
یه سایت نوشته برای خواندن رشته configaration setting رو اینجوری بنویسید
نگران نباش. این برای وقتی هست که به جای SqlDataSource بخواهی با کدنویسی به کانکشن استرینگ تعریف شده در فایل web.config دسترسی داشته باشی.

در مورد مشکلت هم امتحان کن ببین از خود Sql Server میتونی به دیتابیس هاست وصل بشی؟

xxxsenatorxxx
سه شنبه 08 مرداد 1392, 11:20 صبح
.

در مورد مشکلت هم امتحان کن ببین از خود Sql Server میتونی به دیتابیس هاست وصل بشی؟

از sql server هاست وصله .راحت کوئری میده و تیبلهامو نشون میده

aliblue
سه شنبه 08 مرداد 1392, 11:29 صبح
فهمیدم. بیشتر هاست ها قبل از نام دیتابیس شما ، نام دامین شما را(یا به صورت خلاصه) قرار می دهند و باید نام دیتابیس را به صورت کامل مثلا YourSite_dbNews وارد کنید. این پیشوند را موقع ساخت دیتابیس در کنترل پنل هاستتان می توانید ببینید.

xxxsenatorxxx
سه شنبه 08 مرداد 1392, 11:43 صبح
فهمیدم. بیشتر هاست ها قبل از نام دیتابیس شما ، نام دامین شما را(یا به صورت خلاصه) قرار می دهند و باید نام دیتابیس را به صورت کامل مثلا YourSite_dbNews وارد کنید. این پیشوند را موقع ساخت دیتابیس در کنترل پنل هاستتان می توانید ببینید.
رشته اتصالی که هاست میده اینجوری نیست ولی انجام دادم و بازهم نشد

aliblue
سه شنبه 08 مرداد 1392, 12:44 عصر
اگر خواستی user , pass , رشته اتصالی که با خود sql Server وصل میشی رو در پیام خصوصی بفرست ببینم مشکلت چیه.

aliblue
چهارشنبه 09 مرداد 1392, 08:54 صبح
1 مشکل که توی کانکشن استرینگت دیدم اینه که نام دیتابیس رو dbNews نوشتی ولی در هاستت اسمش dbNews1 هست. اصلاحش کن ببین بازم مشکل داری یا نه خبرشو بده.

xxxsenatorxxx
چهارشنبه 09 مرداد 1392, 20:17 عصر
1 مشکل که توی کانکشن استرینگت دیدم اینه که نام دیتابیس رو dbNews نوشتی ولی در هاستت اسمش dbNews1 هست. اصلاحش کن ببین بازم مشکل داری یا نه خبرشو بده.
از شدت ناراحتی اونو اونجوری کردم وگرنه قبلش درست بود

aliblue
چهارشنبه 09 مرداد 1392, 22:22 عصر
یعنی الان درست شد یا هنوزم مشکل داری؟

fakhravari
چهارشنبه 09 مرداد 1392, 23:13 عصر
بابا هاست فرق داره
MSSQLSERVER2008 نداره باید ip بدی.

xxxsenatorxxx
پنج شنبه 10 مرداد 1392, 18:43 عصر
سلام
مشکلم حل شد و هیچ یک از مواردی که گفتین نبود .میگم تا دوستان استفاده کنن
تو app code که تابع رشته اتصالم رو تعریف کردم فقط رو کامپیوتر خودم جواب میداد ولی رو هاست باید تابع رشته رو هم مطابق با web.config میکردم

aliblue
پنج شنبه 10 مرداد 1392, 19:41 عصر
خوب دوست عزیز تو ما که نمیدونستیم از app_code میخونی فکر کردیم از web .config میخونی.اصلا برای چی توی app_cod تعریف کردی؟از همون web.config بخون خوب:
String str=System.Configuration.ConfigurationManager.Conn ectionStrings["dbNewsConnectionString"].ToString();