PDA

View Full Version : مشکل در اتصال به دیتا بیس



icmaster
سه شنبه 12 شهریور 1387, 21:36 عصر
سلام.
من میخوام محتویات یک جدول به نام authent رو در یک دیتا گرید نمایش بدم. کد زیر رو در این رابطه نوشتم:


string connStr;
protected void Page_Load(object sender, EventArgs e)
{
connStr = "Data Source=localhost;Initial Catalog=SoftEnProj;Integrated Security=True";
SqlConnection scon = new SqlConnection(connStr);
DataSet ds=new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select * from authent", scon);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();

}


ولی روی قسمت da.Fill(ds); ایراد زیر رو میگیره:
Login failed for user 'VC-10EA4FBFCAA5\ASPNET'.

من با همین کانکشن استرینگ با یک برنامه اپلیکیشن( نه وب سایت) به همین دیتابیس وصل میشم ولی اینجا این ایراد رو میگیره.
در ضمن VC-10EA4FBFCAA5 اسم کامپیوترم هست(localhost).
علتش چیه؟
ممنون.

salehbagheri
سه شنبه 12 شهریور 1387, 22:32 عصر
كانكشن شما كمي عجيبه! بايد كانكشن خودتون را در فايل Web.config تعريف كنيد و بعد به راحتي از ان استفاده كنيد!



<connectionStrings>
<add name="MyProjectConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

icmaster
سه شنبه 12 شهریور 1387, 22:53 عصر
با خود ویزارد ویژوال استدیو هم SqlDatasource که میسازم و test query رو میزنم درسته و محتویات جدول رو تو همون صفحه test query ویزارد برمی گردونه ولی تو اجرا وقتی run میکنم این ایراد رو میگیره...؟؟؟

kezack
سه شنبه 12 شهریور 1387, 23:34 عصر
عزیز مشکلت از connection String هست همون کاری که دوستمون آقای باقری گفت انجام بده درست میشه

icmaster
سه شنبه 12 شهریور 1387, 23:45 عصر
میشه بفرمایید بعد از ابنکه اون کاری که آقای باقری گفت انجام دادیم چطوری باید از اون کانکشن استرینگ تو کد استفاده کنیم؟
الان اینو ایجاد کردم:


<connectionStrings>
<add name="SoftEnProjConnectionString" connectionString="Data Source=localhost;Initial Catalog=SoftEnProj;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

kezack
چهارشنبه 13 شهریور 1387, 00:20 صبح
میتونی در Webconfig داخل پوشه AppSeting بذاری

<appSettings>
<addkey="ConnectionString"value="Data Source=.;Initial Catalog=esme database;Integrated Security=True;Pooling=False"/>
</appSettings>
بعدش در کد برنامه اینتوری بنویسی


SqlConnection con = new SqlConnection(System.Configuration.ConfigurationMa nager.AppSettings["ConnectionString"]);

icmaster
چهارشنبه 13 شهریور 1387, 00:21 صبح
مشکلم حل شد.
مشکل از ککانکشن استرینگ نبود. حق دسترسی به دیتا بیسم از طرف ASPNET تعریف نشده بود که با تعریف کردنش تو Enterprise manager دیتا بیسم مشکل حل شد فقط موندم چرا وقتی با اپلیکیشن بهش وصل میشم از حق دسترسی ایراد نمیگرفت ولی اینجا ایراد میگیره؟
مگه وقتی دیتا سورس رو localhost تعریف میکنی ASP.NET با یوزر نیمی که خودش تعیین میکنه(Computer name/ASPNET) به دیتا بیس وصل میشه؟
در ویژوال استودیو برای ASP.NET کجا میشه یورز نیمی که باهاش به دیتابیس وصل میشه رو تعیین کرد؟

icmaster
چهارشنبه 13 شهریور 1387, 00:44 صبح
اینم یه توضیح که در یکی از فرومهای انگلیسی داده بودند:


You are using Windows Integrated authentication in SQL Server/MSDE. This means that your application connects as it's configured Windows identity. On Windows 2000 this is the Machine\ASPNET user account. You will need to give that account permissions to login to your database server, and appropriate permissions to the database.

If you are using SQL Server, you can use Enterprise Manager to do this. If you are using MSDE (and you don't have the GUI client tools), then you can use osql.exe to do this.

http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=87085


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