因此,有一个C#编写的应用程序(数据导入程序),它运行在与SQLServer数据库不同的服务器上。我在23:37连接数据库然后 - 在00:16 - 出现此问题:
System.Data.SqlClient.SqlException(0x80131904):从服务器接收结果时发生传输级错误。 (提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)---> System.ComponentModel.Win32Exception(0x80004005):没有进程在管道的另一端。
w System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection,Action
1 wrapCloseInAction)
1 wrapCloseInAction)
w System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
w System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose) w System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32错误) w System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() w System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() w System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() w System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte [] buff,Int32 offset,Int32 len,Int32& totalRead) w System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer值,SqlMetaDataPriv md,Int32 length,TdsParserStateObject stateObj) w System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i,Boolean readHeaderOnly) w System.Data.SqlClient.SqlDataReader.TryReadColumnHeader(Int32 i) w System.Data.SqlClient.SqlDataReader.ReadColumnHeader(Int32 i) w System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i) w Company.Package.Importer.Database.TypeAwareDataReader.IsRemoved()
你对问题有所了解吗?我应该建议我的用户检查SQL Server日志吗?我可以在应用程序方面做些什么吗?我没有直接访问数据库(它在我的客户机上)。
标记为重复后修改 我看到了that question,但在我的情况下,我可以通过SQL Server身份验证连接到数据库。在获得异常之前,我甚至已经处理了四个表。第五个表正在处理27分钟,然后它们出现繁忙,出现错误。
答案 0 :(得分:0)
你可以看到这篇文章:provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe. 如果一切正常,请尝试重启机器!