What is the difference between a remote, local and embedded connection?

What is the difference between a remote, local and embedded connection?

In a recent video, we talked about how to connect in an embedded way with Zeos – a special component for database access in Delphi and Lazarus programming IDEs – and doubts arose about the difference between local, remote and embedded connection.

For the less experienced there is a confusion with "localhost" connections being taken as "local", are they really? Did you know that FirebirdSQL has a special protocol for really local connections like xnet? Are embedded and local connections the same thing?

In this video I explain the differences:

Programmers, yes, you who have the programming language and the database running on the same computer, stop using “localhost” when in reality what you want is local access. When creating your programs, make them easy to set up so that the user can set it to be local or remote, and please don't assume that “localhost” is local, as it is not.