Donc, j'essaie de créer une application de formulaire Web ASP.NET en utilisant C# (juste pour noter, Je suis un débutant absolu avec ASP et C#). Je suivais le tutoriel situé ici:Une exception de type 'System.Data.SqlClient.SqlException' s'est produite dans mscorlib.dll mais n'a pas été traitée dans le code utilisateur
J'utilise Visual Studio 2013 avec SQL Server 2012 express LocalDB sur cette machine Windows 7 (64 bits). Cependant, quand je suis à l'école, j'utilise Visual Studio 2015 (avec la même version de SQL Server) sur une machine Windows 10 (64 bits).
Maintenant, je codais ce tutoriel situé ci-dessus sur VS2013, et après avoir construit et exécuté le programme, il fonctionnait. Après le portage sur VS2015 et l'exécution du programme, je ne peux pas l'exécuter à nouveau sur VS2013. Au lieu de cela, je rencontre une erreur.
Voici le texte intégral d'erreur:
An exception of type 'System.Data.SqlClient.SqlException' occurred in
mscorlib.dll but was not handled in user code
Additional information: 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: SQL
Network Interfaces, error: 50 - Local Database Runtime error occurred. The
specified LocalDB instance does not exist.)
Voici le bloc de code d'erreur de la source (il se produit spécifiquement à la ligne 24):
Line 22: var roleMgr = new RoleManager<IdentityRole>(roleStore);
Line 23:
Line 24: if (!roleMgr.RoleExists("canEdit"))
Line 25: IdRoleResult = roleMgr.Create(new IdentityRole { Name = "canEdit" });
Line 26:
Voici la trace de la pile qui affiche sur la page d'erreur:
[SqlException (0x80131904): 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: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance does not exist.
)]
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) +821
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +332
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +699
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +89
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +426
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +191
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +154
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +21
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +90
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +217
System.Data.SqlClient.SqlConnection.Open() +96
System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__36(DbConnection t, DbConnectionInterceptionContext c) +36
System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) +138
System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +477
System.Data.Entity.SqlServer.<>c__DisplayClass33.<UsingConnection>b__32() +520
System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +34
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +251
System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) +196
System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action`1 act) +276
System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act) +545
System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable`1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript) +151
System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +287
System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +111
System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase() +236
System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection) +143
System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +207
System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +42
System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) +136
System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update() +33
System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext) +175
System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext, DatabaseExistenceState existenceState) +150
System.Data.Entity.Database.Create(DatabaseExistenceState existenceState) +444
System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context) +290
System.Data.Entity.Internal.<>c__DisplayClassf`1.<CreateInitializationAction>b__e() +165
System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +110
System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +660
System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) +31
System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) +143
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +292
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +123
System.Data.Entity.Internal.InternalContext.Initialize() +42
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +39
System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +137
System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +38
System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +99
System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(IQueryable`1 source, Expression`1 predicate, CancellationToken cancellationToken) +197
System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(IQueryable`1 source, Expression`1 predicate) +233
Microsoft.AspNet.Identity.EntityFramework.RoleStore`3.FindByNameAsync(String roleName) +1120
Microsoft.AspNet.Identity.<FindByNameAsync>d__13.MoveNext() +278
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +28
Microsoft.AspNet.Identity.CultureAwaiter`1.GetResult() +123
Microsoft.AspNet.Identity.<RoleExistsAsync>d__d.MoveNext() +612
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +28
Microsoft.AspNet.Identity.AsyncHelper.RunSync(Func`1 func) +244
Microsoft.AspNet.Identity.RoleManagerExtensions.RoleExists(RoleManager`2 manager, String roleName) +241
Starlane.Logic.RoleActions.AddUserAndRole() in F:\WEBENGINEERING\Starlane\Starlane\Logic\RoleActions.cs:24
Starlane.Global.Application_Start(Object sender, EventArgs e) in F:\WEBENGINEERING\Starlane\Starlane\Global.asax.cs:28
[HttpException (0x80004005): 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: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance does not exist.
)]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +10063289
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +173
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): 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: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance does not exist.
)]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +10044576
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +95
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
Chaque fois que je commente des lignes de code qui utilisent la variable roleMgr, le pplication va s'exécuter, mais je rencontre la même erreur SqlException lorsque j'essaie de tester le système de connexion. Je pensais que cela pourrait être corrigé via mon fichier Web.Config. Voici la partie du code que j'ai vu (après quelques recherches Google) que j'imagine serait pertinent:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-Starlane-20170802095040.mdf;Initial Catalog=aspnet-Starlane-20170802095040;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="Starlane" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\starlane.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Utilisation de l'Explorateur de serveur, je peux interroger la base Starlane, mais pas la base de données par défaut de connexion.
Quoi qu'il en soit, j'espère avoir fourni suffisamment d'informations pour que quelqu'un puisse m'aider à résoudre ce problème. Y a-t-il quelque chose qui changerait dans le code ou dans les configurations lors de l'exécution de 2015 à 2013 qui causerait ce problème?
Merci beaucoup d'avance.
Vous êtes confondu avec les versions vs, cela n'a rien à voir avec l'exception SQL. * En utilisant Server Explorer, je peux interroger la base de données Starlane, mais pas la base de données de connexion par défaut. * - Si vous ne pouvez pas voir la base de données, comment voulez-vous que la chaîne de connexion fonctionne? Google: ** erreur: 50 - Une erreur d'exécution de la base de données locale s'est produite. L'instance LocalDB spécifiée n'existe pas. ** –
Merci pour l'aide. Je pensais trop à la version, et cela m'a définitivement conduit dans la mauvaise direction. J'aurais dû faire des recherches plus avant de poster comme un autre poste a aidé: https://stackoverflow.com/questions/26007913/the-specified-localdb-instance-does-not-exist – pandorachaos