Actually, those who say you cannot connect to an Access DB via TCP/IP are
correct. In your scenario you are not connecting to the database at all. You
are using TCP/IP as the protocol to connect to the file system of the remote
computer using the IP address rather than the more usual DNS name or NetBIOS
name (or even mapped drive). You seem to be confusing file sharing using the
IP address as identifier with a socket server connection to a database
engine using the TCP/IP protocols.
Access databases are file based which means that the local (in process) Jet
database engine manipulates the contents of the database via a file handle
to whatever file you have identified in your connection string. Your TCP/IP
connection simply returns a pseudo-handle to the remote file system which is
accessed as though it was local to return the appropriate results.
In a client/server based DBMS on the other hand you connect directly to the
database engine on the server via TCP/IP and the database server does all
the manipulation before returning the results.
Some of the confusion may be caused by the unfortunate use of the word
connection. You never literally connect to a database but rather to the
database engine which in turn accesses the file system (or whatever physical
store your DBMS uses) and RAM to retrieve/manipulate the data in the
database.
Also, your option 2 is the only viable one over the Internet since if you
are exposing file system sharing directly to the public Internet you should
probably be fired ASAP.
"Jerry" <Je*********@ya hoo.com> wrote in message
news:O8******** ******@tk2msftn gp13.phx.gbl...
Nuno,
Those who tell you that you can not do this have not fully explored the
alternatives, or they simply have not used Jet 4.0 this way. I have
three applications that use Access databases this way. One of them uses
wireless PDA devices to access Jet files. For small applications this is fine. You
have to make sure, though that you are not passing a great deal of data
over the network or it will be slow.
Using an IP address instead of a DNS name such as
"\\MyNetCompute r\MyData\" is actually faster because the DNS name does not need to be resolved.
There are several things you can do.
1. If you have access to the data at the IP address you can use it in
your connection object just as if you had used the DNS name.
2. You can create a VPN tunnel to the data using the IP address if your
operating systems on both ends support them.
3. You can create a Network Place on your system using the IP address.
Assuming you are not trying to pass large datasets over the Internet it
doesn't matter where you are.
"Nuno Fonseca" <nf******@neosi s.pt> wrote in message
news:uA******** ******@TK2MSFTN GP09.phx.gbl... Anyone knows if it is possible to make a database connection over TCP/IP
to an MS ACCESS database? If yes please give me an example or any
documentation please.
Best regards,
Nuno