I have been fighting with an error message since I moved my solution onto my hosted servers. I have been able to resolve most of my membership errors. I have had to move both databases (Membership and Classifieds) out of the App_data folder and on an actual
SQL server. I have edited my connection strings to point to the new SQL servers. Everything else seems to be working fine so far, but after I log in and go to the "My Ads & Profile" tab, I get the following error:
Server Error in '/' Application.
--------------------------------------------------------------------------------
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.
Description: 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.
SQLExpress database file auto-creation error:
The connection string specifies a local Sql Server Express instance using a database location within the applications App_Data directory. The provider attempted to automatically create the application services database because the provider determined that the database does not exist. The following configuration requirements are necessary to successfully check for existence of the application services database and automatically create the application services database:
If the applications App_Data directory does not already exist, the web server account must have read and write access to the applications directory. This is necessary because the web server account will automatically create the App_Data directory if it does not already exist.
If the applications App_Data directory already exists, the web server account only requires read and write access to the applications App_Data directory. This is necessary because the web server account will attempt to verify that the Sql Server Express database already exists within the applications App_Data directory. Revoking read access on the App_Data directory from the web server account will prevent the provider from correctly determining if the Sql Server Express database already exists. This will cause an error when the provider attempts to create a duplicate of an already existing database. Write access is required because the web server accounts credentials are used when creating the new database.
Sql Server Express must be installed on the machine.
The process identity for the web server account must have a local user profile. See the readme document for details on how to create a local user profile for both machine and domain accounts.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[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.]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4849719
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4864151
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4866464
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open() +122
System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +82
[HttpException (0x80004005): Unable to connect to SQL Server database.]
System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +137
System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install) +94
System.Web.Management.SqlServices.Install(String database, String dbFileName, String connectionString) +25
System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) +395
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4206; ASP.NET Version:2.0.50727.4209
I am not sure why it is still trying to look in the App_Data folder for the database, but it is. Below is my current web.config file.
SilhouetteBS
Member
3 Points
15 Posts
Failed to generate a user instance of SQL Server
Jan 14, 2011 03:55 PM|LINK
I have been fighting with an error message since I moved my solution onto my hosted servers. I have been able to resolve most of my membership errors. I have had to move both databases (Membership and Classifieds) out of the App_data folder and on an actual SQL server. I have edited my connection strings to point to the new SQL servers. Everything else seems to be working fine so far, but after I log in and go to the "My Ads & Profile" tab, I get the following error:
I am not sure why it is still trying to look in the App_Data folder for the database, but it is. Below is my current web.config file.
<?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <connectionStrings> <add name="classifiedsConnection" connectionString="Data Source=XXXXX;Initial Catalog=SWSEISchoolClassifieds;User ID=XXXXX; Password=XXXXX" providerName="System.Data.SqlClient"/> <add name="MembershipConnection" connectionString="Data Source=XXXXX;Initial Catalog=SWSEISchoolClassifiedsASPMembership;User ID=XXXXX; Password=XXXXX" providerName="System.Data.SqlClient"/> </connectionStrings> <location path="Admin"> <system.web> <authorization> <allow roles="Administrators"/> <deny users="*"/> </authorization> </system.web> </location> <location path="PostAd.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> <location path="EditPhotos.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> <location path="MyAds.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> <location path="MyProfile.aspx"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location> <system.web> <customErrors defaultRedirect="Error.aspx" mode="Off"/> <pages styleSheetTheme="Blue"/> <authentication mode="Forms"/> <membership defaultProvider="MembershipProvider"> <providers> <clear /> <add name="MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="MembershipConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/> </providers> </membership> <profile enabled="true"> <properties> <add name="FirstName" type="System.String"/> <add name="LastName" type="System.String"/> <add name="MemberId" defaultValue="0" type="System.Int32"/> <group name="Core"/> </properties> </profile> <roleManager enabled="true" defaultProvider="MembershipProvider"> <providers> <clear /> <add name="MembershipProvider" type="System.Web.Security.SqlRoleProvider" applicationName="/" connectionStringName="MembershipConnection"/> </providers> </roleManager> <compilation debug="true"/> <siteMap defaultProvider="RoleEnabled_AspNetXmlSiteMapProvider" enabled="true"> <providers> <clear/> <add name="RoleEnabled_AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile="web.sitemap" securityTrimmingEnabled="true"/> </providers> </siteMap> </system.web> <system.net> <mailSettings> <smtp> <network host="yourSMTPhostname" port="25" defaultCredentials="true" userName="enterUserNameHereIfRequired" password="enterPasswordIfRequired"/> /> </smtp> </mailSettings> </system.net> </configuration>I am not very knowledgable about the asp.net membership and how it works, so I'm sure I'm missing something. Any help would be greatly apprecaited!