Chasing errors or misbehavior in the network can be quite a challenge.
Differently to a local application on the DB server, you always have at least 3 players:
- A client to place a request
- some kind of transport layer
- and a server to provide a reply.
This results in a minimum of 3 possible communication layers
- Client <---> Transport
- Server <---> Transport
- Client <---> Server
The last one is probably the easiest to check, while the other
two deal with the same counterpart just from opposite sides.

.png)