>2) I believe the DBC can reside in a different machine than the SQL server since that is the idea of remote views. So, it should be able to reside in a file server, as can the executable program, no?
-- As far as the EXE is concerned --
You may also consider having the EXE on each workstation. Otherwise, users will use a lot of bandwidth since each time they launch the app, the EXE will be transfer to their workstations.
-- As far as the DBC is concerned --
Yes, you can store the on a file server. On the other hand, you'll get better performance if you install the DBC to each workstation.
>3) Now, if #2 is correct and the DBC contains a connection that points to the database through SQL Server, and that connection refers to a DSN, where should that DSN be defined? In the machine that contains the DBC or in the terminal running the program?
The DSN should be defined in the terminal runnin the program.
You may also consider declaring DSN-less connections on your DBC, that way, the DSN connection does not need to be defined on each workstation. You can define a DSN-less conection as follows:
OPEN DATA YourDBC
CREATE CONNECTION MyConnection ;
CONNSTRING 'DRIVER=sql server;SERVER=(local);UID=sa;PWD=;DATABASE=northwind'
Hector Correa