مشكل كار با sql server express در iis

aliimanypoor

عضو جدید
با سلام در ويژوال استديو 2010 برنامه اي را با asp و #C در ويندوز 7 نوشتم و بعد مي خواستم در iis آنرا اجرا كنم متاسفانه با مشكلات متعددي مواجه شدم.
هنگامي كه برنامه را به ويندوز xp منتقل كردم پيام application not found نمايش داده مي شد. و بعد از اينكه متوجه شدم كه اول بايد iis نصب شود بعد فرم ورك 2 و sql البته اگر راه ديگري دارد كمكم كنيد تا مجبور نشوم ويندوز را بعد از نصب ويژوال استديو دوباره نصب كنم.
اما مشكل بعدي اجازه دسترسي كاربران بود كه پيام خطاي sql read only است و آدرس بانك را نمايش مي داد متاسفانه با اينكه در تنظيمات iis در قسمت تنظيمات دايركتوري مقصد تيك خواندن و نوشتن و ... همه را فعال كردم و صفت هاي پوشه هاي iis تا حتي خود بانك را از read only در آوردم اما باز كه مراجعه مي كردم هنوز آن پوشه ها read only بودند و iis همان پيام را مي داد. اگر راهكاري داريد ممنون مي شم.
مشكل اصلي ديگر اينه كه در هر ويندوزي از جمله 7 يا xp با نصب فرم ورك 2 صفحات aspx نمايش داده مي شه اما هم چنان با نصب انواع sql server پيام بانك متصل نيست نمايش داده مي شود. راهنمايي مي خواهم چگونه بانك را متصل كنم و اطمينان حاصل كنم كه درست متصل شده است. آيا ميتوان با انواع sql server بانك هايي كه با ويژوال استديو و يا با نوع هاي ديگيري از sql ايجاد كرده ايم را متصل كرد يانه .
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با سلام در ويژوال استديو 2010 برنامه اي را با asp و #C در ويندوز 7 نوشتم و بعد مي خواستم در iis آنرا اجرا كنم متاسفانه با مشكلات متعددي مواجه شدم.
هنگامي كه برنامه را به ويندوز xp منتقل كردم پيام application not found نمايش داده مي شد. و بعد از اينكه متوجه شدم كه اول بايد iis نصب شود بعد فرم ورك 2 و sql البته اگر راه ديگري دارد كمكم كنيد تا مجبور نشوم ويندوز را بعد از نصب ويژوال استديو دوباره نصب كنم.
اما مشكل بعدي اجازه دسترسي كاربران بود كه پيام خطاي sql read only است و آدرس بانك را نمايش مي داد متاسفانه با اينكه در تنظيمات iis در قسمت تنظيمات دايركتوري مقصد تيك خواندن و نوشتن و ... همه را فعال كردم و صفت هاي پوشه هاي iis تا حتي خود بانك را از read only در آوردم اما باز كه مراجعه مي كردم هنوز آن پوشه ها read only بودند و iis همان پيام را مي داد. اگر راهكاري داريد ممنون مي شم.
مشكل اصلي ديگر اينه كه در هر ويندوزي از جمله 7 يا xp با نصب فرم ورك 2 صفحات aspx نمايش داده مي شه اما هم چنان با نصب انواع sql server پيام بانك متصل نيست نمايش داده مي شود. راهنمايي مي خواهم چگونه بانك را متصل كنم و اطمينان حاصل كنم كه درست متصل شده است. آيا ميتوان با انواع sql server بانك هايي كه با ويژوال استديو و يا با نوع هاي ديگيري از sql ايجاد كرده ايم را متصل كرد يانه .

در مورد اول که فرمودید، باید IIS را نصب و در پنجره فرمان دات نت با استفاده از دستور regiis -i آن را رجیستر کنید.
در خصوص Read only شدن، فکر کنم فایل های بانک را که انتقال دادی، Read only شده و پس از attach بانک شما طبیعتاً Read only می شود.
فکر می کنم مشکل بانک رو حل کنید درست شود و اینکه توجه کنید در web.config ، نام platform ست نشده باشد که تنها بر روی یک سیستم خاص کار کند. به جای datasource می توانید از آی پی 127.0.0.1 نیز استفاده نمایید.
 

aliimanypoor

عضو جدید
منظورتان از پنجره فرمان دات نت دقيقا كجاست در iis ويندوز xp چنين پنجره اي كه فرموديد نديدم.
خب مشكل من اين بود كه چطوري مشكل بانك را حل كنم .چطوري بانك را از red only بودن در بياورم ومطمئن شوم كه بانك درست كانكت شده است.
وآيا در ويندوز هاي متفاوت فرق مي كند كه بانك چگونه متصل گردد.
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
منظورتان از پنجره فرمان دات نت دقيقا كجاست در iis ويندوز xp چنين پنجره اي كه فرموديد نديدم.
خب مشكل من اين بود كه چطوري مشكل بانك را حل كنم .چطوري بانك را از red only بودن در بياورم ومطمئن شوم كه بانك درست كانكت شده است.
وآيا در ويندوز هاي متفاوت فرق مي كند كه بانك چگونه متصل گردد.

شما باید پیش از attach بر روی فایل های بانک کلیک راست کنید و تیک Readonly رو بردارید. احتمالاً مربوط به همین هست.
در منوی Start > program files > visual studio (2008-2010) > Visual Studio Tools میتونید Command Prompt دات نت را ببینید :gol:
 

yamaha R6

کاربر حرفه ای
کاربر ممتاز
منظورتان از پنجره فرمان دات نت دقيقا كجاست در iis ويندوز xp چنين پنجره اي كه فرموديد نديدم.
خب مشكل من اين بود كه چطوري مشكل بانك را حل كنم .چطوري بانك را از red only بودن در بياورم ومطمئن شوم كه بانك درست كانكت شده است.
وآيا در ويندوز هاي متفاوت فرق مي كند كه بانك چگونه متصل گردد.

واسه ریجستر کردن iis می ری تو cmd
مثلا ویندوزت تو درایو c نصبه:
میری تو این مسیر:

c:\windows\microsoft .net\framework
v2.0
حوصلم سر رفت بیا اینم عکسش:

Untitled.jpg
 

aliimanypoor

عضو جدید
ممنون .
درست خب از اول مي گفتيد cmd خود ويندوز .
در ضمن گفته بودم كه بارها read only هاي تمام پوشه ها و حتي خود بانك را برداشتم ولي مشكل حل نشد.
و در رابطه با مسئله اتصال بانك هيچ توضيحي نداديد
اينم پيام مورد نظر در ويندوز 7

[FONT=Verdana,sans-serif][SIZE=-1]Server Error in '/' Application. [/SIZE][/FONT]
http://www.www.www.iran-eng.ir/Users\Imanipur\AppData\LocalLow\Temp\Microsoft\OPC\DDT.w6ej2iq3mkeiix7a66e822etc.tmp
[FONT=Verdana,sans-serif][SIZE=-1]Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. [/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1]Please make sure the user has a local user profile on the computer. The connection will be closed.[/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1] [/SIZE][/FONT]
http://www.www.www.iran-eng.ir/Users\Imanipur\AppData\LocalLow\Temp\Microsoft\OPC\DDT.pbhgvk4civdvgjz4fbi0z7zpd.tmp
[FONT=Verdana,sans-serif][SIZE=-1]Version Information:[/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927 [/SIZE][/FONT]
http://www.www.www.iran-eng.ir/Users\Imanipur\AppData\LocalLow\Temp\Microsoft\OPC\DDT._pvui8z_ihbo2vy8v51goouz.tmp
[FONT=Times New Roman,sans-serif]http://localhost/login.aspx[/FONT]
[FONT=Times New Roman,sans-serif]Page [/FONT][FONT=Times New Roman,sans-serif]1[/FONT][FONT=Times New Roman,sans-serif] of [/FONT][FONT=Times New Roman,sans-serif]1[/FONT]
[FONT=Verdana,sans-serif][SIZE=-1]Description: [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1]An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1]Exception Details: [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1]System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1]on the computer. The connection will be closed. [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1]Source Error:[/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1]Line 35: sqlConnection1.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\inetpub\wwwroot\App_Data\Building_Project_Data.MDF;Integrated Security=True;User Instance=True";[/SIZE][/FONT] [FONT=Lucida Console,sans-serif][SIZE=-1]Line 36: sqlCommand1.Connection = sqlConnection1;[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1]Line 37: sqlConnection1.Open();[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1]Line 38: sqlCommand1.CommandText = "select * from users where username='" + Login1.UserName + "' and Password='" + Login1.Password + "' and Premition=1 ";[/SIZE][/FONT] [FONT=Lucida Console,sans-serif][SIZE=-1]Line 39: //dr = (SqlDataReader)sqlConnection1.selectStatementMethod("select * from users where username='" + Login1.UserName + "' and Password='" + Login1.Password + "' and Premition=1 ");[/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1]Source File: [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1]c:\inetpub\wwwroot\Login.aspx.cs[/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1] Line: [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1]37 [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Verdana,sans-serif][SIZE=-1]Stack Trace:[/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Arial,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1][SqlException (0x80131904): Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.][/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4849015[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2394[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4863459[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31[/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Data.SqlClient.SqlConnection.Open() +122[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] Login.Login1_Authenticate(Object sender, AuthenticateEventArgs e) in c:\inetpub\wwwroot\Login.aspx.cs:37[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +108[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Login.AttemptLogin() +115[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1] [/SIZE][/FONT][FONT=Lucida Console,sans-serif][SIZE=-1] System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565[/SIZE][/FONT][FONT=Courier New,sans-serif][SIZE=-1][/SIZE][/FONT]
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
دوست عزیز لطفاً بخش Connection String در Web.config رو اینجا بذارید.
 

aliimanypoor

عضو جدید
اينم كل وب كانفيگ

<?xml version="1.0"?>
<configuration>


<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf"/>


</connectionStrings>
<system.web>
<compilation debug="true" />
</system.web>
</configuration>
 

aliimanypoor

عضو جدید
ظاهرا كسي جواب درستي براي اين سوالات نداره
در هزر صورت خيلي ممنون
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
راستش من وی کانفیگی متفاوت دارم. بانک شما به SQL متصل شده یا خیر؟ اگر متصل شده به جای AttachDBFileName باید InitialCatalog و نام بانک را بدید و اینکه user id و password را نیز در صورتی که از مد Mixed استفاده شده قرار دهید :gol:
 

Similar threads

بالا