PDA

View Full Version : Login failed for user 'IIS APPPOOL



atryad
پنج شنبه 06 آبان 1389, 19:53 عصر
با سلام
مشکل من اینه که در سایتی که طراحی کردم اگه درخواست دسترسی به بانک اطلاعاتی(sql 2008) داده بشه خطایLogin failed for user 'IIS APPPOOL\'میده اما اگه صفحه aspمورد نظرهیچ ارتباطی با بانک نداشته باشه اجرا میشه.
sql2008

win7
طراحی با visual studio 2008
راستی همین سایتو اگه با خود visual studioاجرا کنم بدون iis به راحتی اجرا میشه
ممنونمیشم راهنمایی کنید


public string ConnectionRet()
{
string path = "Provider=SQLOLEDB.1;Data Source=.;Initial Catalog=SandoghDB;Integrated Security=SSPI";
return path;
}



OleDbConnection connection = new OleDbConnection(path);
OleDbCommand command = new OleDbCommand(CommandText, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();

adelisardo
پنج شنبه 06 آبان 1389, 20:09 عصر
با سلام دوست عزیر
شما به صورت پیش فرض نمی توانید از طریق IIS و یا ASP.NET Development Server به صورت Windows Authentication به بانک Sql Server وصل شین ، باید از شیوه Sql Server Authentication به پایگاه داده متصل بشید .
خطایی داده شده نیاز مربوط به همین اشکال است و مربوط به این می شود که شما به صورت Connection خود را به صورت Windows Authentication را ایجاد و باز می کنید .
و یه سوال چرا از Namespace د OLEDB برای ارتباط با بانک استفاده کردید ؟
اگر نیازی به راهنمایی بشتر بفرمایید در خدمتم

با احترام

atryad
پنج شنبه 06 آبان 1389, 20:21 عصر
اگر نیازی به راهنمایی بشتر بفرمایید در خدمتم


ممنون دوست عزیز من این روشو امتحان کردم ولی بازم درست نمیشه اگه بیشتر راههنمایی کنید ممنون میشم

adelisardo
پنج شنبه 06 آبان 1389, 20:29 عصر
با این کد Appliction تون رو تست کنید ( البته به جای [Password] رمز sa اس کیول سرور خود را قراردهید ) :


public string ConnectionRet()
{
string path = "Provider=SQLOLEDB.1;Data Source=.;Initial Catalog=SandoghDB;User Id=sa;Password=[password]";
return path;
}


SqlConnection connection = new SqlConnection(path);
SqlCommand command = new SqlCommand(CommandText, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();

atryad
پنج شنبه 06 آبان 1389, 20:48 عصر
دوست عزیز خطای زیر رو میده
Keyword not supported: 'provider'.
در ضمن پروژه من به صورت صفحات وب است نه application

adelisardo
پنج شنبه 06 آبان 1389, 21:04 عصر
عذر می خوام یکم تو اصلاح این کد عجله کردم با این اصلاح تست کنید البته به جای [Password] رمز عبور sa را وارد کنید :


public string ConnectionRet()
{
string path = "Data Source=.;Initial Catalog=SandoghDB;User Id=sa;Password=[PASSWORD]";
return path;
}

البته من در نظر گرفتم که SQL Server شما به صورت Default Instance نصب شده .
موفق باشید

atryad
پنج شنبه 06 آبان 1389, 21:06 عصر
بازم خطای زیر رو میده
Login failed for user 'sa'.

adelisardo
پنج شنبه 06 آبان 1389, 21:09 عصر
دوست عزیز
کاملا مشخه شما دارید رمز عبور sa در Connection String رو اشتباه وارد می کنید .
لطفا بفرمایید که نیاز است که در این مورد توضیح بیشتری بدم یا نه .
با احترام

atryad
پنج شنبه 06 آبان 1389, 21:10 عصر
دوست عزیز ممنون از اینکه راهنمایی میکنید
من حتی خودم یوزر ساختم بازم همین خطا رو میده
Login failed for user 'asslogin'.

adelisardo
پنج شنبه 06 آبان 1389, 21:19 عصر
با تمامی احترام خدمت شما
من قصد جسارت ندارم ولی من واقعا شما رو نمی شناسم و نمی دونم چقدر اطلاعات دارید ، فقط قصدم حل مشکل شماست .
- کنترل کنید که SQL SERVER که پایگاه داده خود روی اون ساختید همون Instance ر SQL Server ای است که دارید از طریق برنامه با آن ارتباط برقرار می کنید .
- اگر بتونید کدتون رو ( یا بخشی از اون رو ) ارسال کنید شاید بهتر بتونم کمکتون کنم .

با احترام

atryad
پنج شنبه 06 آبان 1389, 21:28 عصر
مرسی از راهنماییهای خوبتون


string path = "Data Source=.;Initial Catalog=SandoghDB;User Id=RezaLogin;Password=123456789";



string CommandText = "SELECT * " +
" FROM Karmand " +
" where KarmandId = '{0}' and KarmandPass ='{1}'";
string path = con.ConnectionRet();
CommandText = string.Format(CommandText, user, pass);


/*OleDbConnection connection = new OleDbConnection(path);
OleDbCommand command = new OleDbCommand(CommandText, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();*/

SqlConnection connection = new SqlConnection(path);
SqlCommand command = new SqlCommand(CommandText, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();

atryad
پنج شنبه 06 آبان 1389, 21:34 عصر
دوست عزیز من از یه pdf که از اینترنت گرفتم برای ساخت یوزر استفاده میکنم
اگه ممکنه شما روش ساخت یوزر را به روش خودتون به م ن بگین شاید مشکل از یوزر باشه

adelisardo
پنج شنبه 06 آبان 1389, 21:52 عصر
آیا شما موقع نصب SQL SERVER حالت کاربری رو SQL Server and Windows Authentication Mode انتخاب کردید .
اگر مطمئن هم هستید باز با نوع کاربری Windows Authentication وارد بشد و با کلیک راست بروی ریشه درخت داخل Managment Studio گزینه Properties در بخش Security این موضوع رو کنترل کنید اگر روی حالت دیگه ای بود SQL Server and Windows Authentication Mode تنظیم کنید و حتما SQL Server ( سرویس SQL Server ) رو Restart کنید .
عکس این پنجره رو هم براتون گذاشتم

با احترام

atryad
پنج شنبه 06 آبان 1389, 21:54 عصر
من قبل از ساخت یوزر این تنظیم رو انجام دادم

adelisardo
پنج شنبه 06 آبان 1389, 22:06 عصر
- آیا شما سرویس SQL Server رو بعد از این تنظیم Restart کردید ؟
- آیا Role ر SysAdmin رو به این کاربر نسبت دادید ؟ ( یا دسترسی لازم به این کاربر )

atryad
پنج شنبه 06 آبان 1389, 22:07 عصر
روی یه سیستم دیگه تست کردم شد دستت درد نکنه مرسی ار راهنمایی خوبتون

دیگه فکر کنم مشکل از سیستم است باید sql رو دوباره نصب کنم

atryad
پنج شنبه 06 آبان 1389, 22:11 عصر
آیا شما سرویس SQL Server رو بعد از این تنظیم Restart کردید ؟
- آیا Role ر SysAdmin رو به این کاربر نسبت دادید ؟ ( یا دسترسی لازم به این کاربر )
آره.
---
من از این pdfاستفاده میکنم
http://www.4shared.com/file/bMg3fqN7/under_network.html
با تشکر فراوان

SepehrEZ
سه شنبه 09 فروردین 1390, 14:19 عصر
درسته که خیلی از زمان تاپیک گذشته.
اما منم همین مشکلو داشتمو الان به جواب رسیدم.گفتم بگم اینجا دوستان دیگه اگه همین مشکلو داشتن رفع کنند.
وارد IIS بشین.از پنل سمت چپ Application Pools رو انتخاب کنید.تو صفحه ای که وسط پنجره باز می شه ،روی گزینه ی اول یعنی ASP.Net v4.0 راست کلیک کنید و Advanced Setting رو انتخاب کنید.
تو پنجره ای که باز می شه ، در قسمت proccess model روی identity کلیک کنید.ازتون هویت می خواد.روی کلید ... کلیک کنید تا پنجره ی Application Pool Identity باز شه.در این پنجره در قسمت Built in Account گزینه ی LocalSystem رو انتخاب کنید.تمام پنجره هایی که باز کردینو ok کنین تا تغییرات ذخیره شه.
حالا با خیال راحت سایتتون که حاوی بانک اطلاعاتیه میاد بالا.