繁体   English   中英

建立与SQL Server的连接时发生与网络相关或特定于实例的错误-使用TempData时

[英]A network-related or instance-specific error occurred while establishing a connection to SQL Server - When using TempData

我正在尝试在控制器中使用TempData ,以便能够在请求之间从下拉列表中保存所选值,但这不起作用。 仅当我添加TempData代码时,我才收到此错误,因此,在没有tempdata代码的情况下, SaveProcessViewProcessViewForAdmin方法可以正常工作。

我一直在网上寻找答案,但似乎找不到任何答案,但似乎找不到我的SQL Server,这很奇怪,因为数据库在网站上的其他任何地方都可以正常工作。 允许远程连接。

我收到以下错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26-指定服务器/实例时出错)
说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26-指定服务器/实例时出错)

源错误:

当前Web请求的执行期间生成了未处理的异常。 可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26-指定服务器/实例时出错)

System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,Boolean breakConnection,Action`1 wrapCloseInAction)+5352431

System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔调用方HasConnectionLock,布尔asyncClose)+244
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,布尔ignoreSniOpenTimeout,Int64 timerExpire,布尔加密,布尔trustServerCert,布尔IntegratedSecurity,布尔withFailover)+5363103
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,字符串newPassword,SecureString newSecurePassword,布尔值ignoreSniOpenTimeout,TimeoutTimer超时,布尔值withFailover)+145
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,字符串newPassword,SecureString newSecurePassword,布尔型redirectedUserInstance,SqlConnectionString connectionOptions,SqlCredential凭据,TimeoutTimer超时)+922
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer超时,SqlConnectionString connectionOptions,SqlCredential凭证,字符串newPassword,SecureString newSecurePassword,布尔型redirectedUserInstance)+307
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity身份,SqlConnectionString connectionOptions,SqlCredential凭证,对象providerInfo,字符串newPassword,SecureString newSecurePassword,布尔型redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData)+518
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,DbConnectionPoolKey poolKey,对象poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection,DbConnectionOptions userOptions)+278
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool池,DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions userOptions)+38
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)+732
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)+85
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,onlyBoolean Boolean OneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)+1057
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& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1重试,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)+196

System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection externalConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry, DbConnectionOptions userOptions) +146
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions) +146
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions) +146
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1重试,DbConnectionOptions userOptions)+16

System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource 1 retry) +94
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1 retry) +94
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1 retry) +94
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1重试)+110

System.Data.SqlClient.SqlConnection.Open()+96
System.Web.SessionState.SqlStateConnection..ctor(SqlPartitionInfo sqlPartitionInfo,TimeSpan retryInterval)+110

[HttpException(0x80004005):无法连接到SQL Server会话数据库。
System.Web.SessionState.SqlSessionStateStore.ThrowSqlConnectionException(SqlConnection conn,异常e)+235
System.Web.SessionState.SqlStateConnection..ctor(SqlPartitionInfo sqlPartitionInfo,TimeSpan retryInterval)+944
System.Web.SessionState.SqlSessionStateStore.GetConnection(字符串ID,布尔值和usePooling)+231
System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive(HttpContext上下文,字符串ID,SessionStateStoreData项目,对象lockId,布尔newItem)+199
System.Web.SessionState.SessionStateModule.OnReleaseState(对象源,EventArgs eventArgs)+565
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+136
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值并已完成同步)+69

控制器方法:

    public ActionResult ProcessViewForAdmin()
    {
        var model = _IGenerateProcessFlowData.UpdateProcessFlowViewModel();
        var modeltemp = TempData["model"] as ProcessViewModel;

        if (modeltemp != null)
        {
            model.SelectedCustomer = modeltemp.SelectedCustomer;
            model.SelectedSeconds = modeltemp.SelectedSeconds;
        }

        return View(model);
    }

    [HttpPost]
    public ActionResult SaveProcessViewForCustomer(ProcessViewModel model)
    {
        TempData["model"] = model;
        _iSlideLogic.ConnectProcessViewAndSlideByMainCustomerName(model.SelectedCustomer, 1, "", model.SelectedSeconds);

        return RedirectToAction("ProcessViewForAdmin");
    }

连接字符串:

<add name="DBEntities" 
     connectionString="metadata=res://*/Context.Overvakning.csdl|res://*/Context.Overvakning.ssdl|res://*/Context.Overvakning.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=Ah-XXXXXXXXX.se;initial catalog=ah-XXXXXXXX;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

任何帮助表示赞赏!

编辑:我团队中的另一个开发人员在尝试运行代码时遇到另一个错误:

  Cannot open database "ASPState" requested by the login. The login failed.
Login failed for user 'XXXXXX'.

我现在很确定问题出在哪里。 我们缺少ASPstate数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM