0

I have a server project of an online game and im getting an database fatal error very often. It happens when the program have to load data from the database, but doesn't happens allways. I think, quite convinced, that the error is due to insufficient ram memory. I can increase the total ram memory of the machine, but does the database use the memory that it needs dynamically or it could be limited by something? I don't know so much about this so I will appreciate a lot your help. Thank you! I leave the error below as a reference.


System.Data.Entity.Core.EntityException: An exception has been raised that is likely due to a transient failure. If you are connecting to a SQL Azure database consider using SqlAzureExecutionStrategy. ---> System.Data.Entity.Core.EntityException: The underlying provider failed on Open. ---> System.Data.Entity.Core.EntityException: An exception has been raised that is likely due to a transient failure. If you are connecting to a SQL Azure database consider using SqlAzureExecutionStrategy. ---> System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) ---> System.ComponentModel.Win32Exception: No process is on the other end of the pipe
   --- End of inner exception stack trace ---
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   --- End of inner exception stack trace ---

...

at Def.DAL.DAO.SInstanceDAO.LoadByStoneId(Int16 stoneId) in C:\Users\Administrator\Desktop\Definitiva\Def.DAL.DAO\SInstanceDAO.cs:line 98
   at Def.GameObject.SpecialItem.Use(ClientSession session, ItemInstance& inv, Byte Option, String[] packetSplit) in C:\Users\Administrator\Desktop\Definitiva\Def.GameObject\Item\SpecialItem.cs:line 1371
   at Def.Handler.BasicPacketHandler.Guri(GuriPacket guriPacket) in C:\Users\Administrator\Desktop\Definitiva\Def.Handler\BasicPacketHandler.cs:line 1084
   at Def.GameObject.ClientSession.TriggerHandler(String packetHeader, String packet, Boolean force, Boolean ignoreAuthority) in C:\Users\Administrator\Desktop\Definitiva\Def.GameObject\Networking\ClientSession.cs:line 604
   at OpenNos.GameObject.ClientSession.HandlePackets() in C:\Users\Administrator\Desktop\Definitiva\Def.GameObject\Networking\ClientSession.cs:line 490
   at System.Reactive.AnonymousSafeObserver`1.OnNext(T value)

... 

(Incomplete trace)

quantum
  • 3,672
  • 29
  • 51
Rukin
  • 1
  • 1
    `An exception has been raised that is likely due to a transient failure.` Its transient. Try again. – mjwills Nov 08 '19 at 22:45
  • Take a look at this post for a deeper explanation and some suggestions: https://stackoverflow.com/questions/29840282/error-when-connect-database-continuously – David Tansey Nov 09 '19 at 00:04
  • 1
    `No process is on the other end of the pipe.` there are multiple reasons this error can occur. If you are logging these exceptions it will be helpful to log the connection string also. And see if the connection string has some issues when the error occurs. Are you using SQL azure or normal SQL server? Which version of SQL server you are using? – Chetan Nov 09 '19 at 00:11
  • `A connection was successfully established with the server, but then an error occurred during the pre-login handshake.` I would focus on network problems: firewall, routing, nat, etc... – Max Nov 09 '19 at 11:09

0 Answers0