By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,610 Members | 2,110 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,610 IT Pros & Developers. It's quick & easy.

ACCESS over TCP/IP

P: n/a
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
Nov 20 '05 #1
Share this Question
Share on Google+
22 Replies


P: n/a
"Nuno Fonseca" <nf******@neosis.pt> schrieb:
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.


MS Access is a desktop database management system. Access and the Jet
drivers do not support to use a port in the network. If you want to access
the database over the intranet or internet, you should use an other database
management system like MS SQL Server or MySQL.

--
Herfried K. Wagner
MVP VB Classic, VB.NET
http://www.mvps.org/dotnet
Nov 20 '05 #2

P: n/a
Umm, I would say "No". Access is a file based database and does not have
any service or program running at the site of the database, whereas other
programs, such as SQL Server and Oracle do.

You *could* approach it in two ways:
1. Create a program that runs on the Access machine, listens for TCP
connections, accepts queries and returns recordsets or status flags in raw
binary or XML code. This, I suppose can also be accomplished using SOAP or
Remoting.
or
2. Use IIS to simplify it and just create 'post' pages that accept SQL
commands and return recordset in XML, then parse them in your own program.

"Nuno Fonseca" <nf******@neosis.pt> wrote in message
news:uA**************@TK2MSFTNGP09.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

Nov 20 '05 #3

P: n/a
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 "\\MyNetComputer\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******@neosis.pt> wrote in message
news:uA**************@TK2MSFTNGP09.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

Nov 20 '05 #4

P: n/a
Herfried,

Sorry you are incorrect. I do this everyday. If the client has large
datasets I put him on SQL 2000. IP addresses work to access ANYTHING just
as if I use a DNS name.

Regards

"Herfried K. Wagner [MVP]" <hi*******@m.activevb.de> wrote in message
news:eN**************@TK2MSFTNGP09.phx.gbl...
"Nuno Fonseca" <nf******@neosis.pt> schrieb:
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.
MS Access is a desktop database management system. Access and the Jet
drivers do not support to use a port in the network. If you want to

access the database over the intranet or internet, you should use an other database management system like MS SQL Server or MySQL.

--
Herfried K. Wagner
MVP VB Classic, VB.NET
http://www.mvps.org/dotnet

Nov 20 '05 #5

P: n/a
Nuno,

One thing to watch out for is the security system in Access. When I use
Access over the Internet I require the user to drop all Access security and
use Windows security to establish who can read/write the file. Access
security can get in the way when establishing connections.

"Nuno Fonseca" <nf******@neosis.pt> wrote in message
news:uA**************@TK2MSFTNGP09.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

Nov 20 '05 #6

P: n/a
Cor
Herfried,
MS Access is a desktop database management system. Access and the Jet
drivers do not support to use a port in the network. If you want to access the database over the intranet or internet, you should use an other database management system like MS SQL Server or MySQL.

I think the wrong word is access the database, Everybode can access a
textfile over the Internet or a network.
I think you did you mean something as direct access (connection) to the
database?
Just one wrong word in English.
But people love to correct you, be proud.
:-)
Cor
Nov 20 '05 #7

P: n/a
"Cor" <no*@non.com> schrieb:
management system like MS SQL Server or MySQL.
I think the wrong word is access the database, Everybode
can access a textfile over the Internet or a network.
I think you did you mean something as direct access
(connection) to the database?


Yes. That's what I wanted to write.
Just one wrong word in English.
But people love to correct you, be proud.


;-)

--
Herfried K. Wagner
MVP VB Classic, VB.NET
http://www.mvps.org/dotnet
Nov 20 '05 #8

P: n/a
Jet 4.0 connection objects support the use of IP address.
I don't have a public server available right now to show you that you can
Read/Write whatever to a Jet database from anywhere over the Internet, but
if I have time to get my 2003 server installed I will be glad to send you a
VB.NET exe which will connect to it. Give me a few weeks. I used this method
in the infancy stages of a large project for a large corporation so that
they could continue development while waiting for their SQL server.

Regards

Regards

"Cor" <no*@non.com> wrote in message
news:3f***********************@reader20.wxs.nl...
Herfried,
MS Access is a desktop database management system. Access and the Jet
drivers do not support to use a port in the network. If you want to

access
the database over the intranet or internet, you should use an other

database
management system like MS SQL Server or MySQL.

I think the wrong word is access the database, Everybode can access a
textfile over the Internet or a network.
I think you did you mean something as direct access (connection) to the
database?
Just one wrong word in English.
But people love to correct you, be proud.
:-)
Cor

Nov 20 '05 #9

P: n/a
"Jerry" <Je*********@yahoo.com> schrieb:
Jet 4.0 connection objects support the use of IP address.


Thanks for the information. I am not really familiar with databases
(especially Access databases), but I read what I wrote somewhere some time
ago...

--
Herfried K. Wagner
MVP VB Classic, VB.NET
http://www.mvps.org/dotnet
Nov 20 '05 #10

P: n/a
;-)

"Herfried K. Wagner [MVP]" <hi*******@m.activevb.de> wrote in message
news:ug**************@tk2msftngp13.phx.gbl...
"Jerry" <Je*********@yahoo.com> schrieb:
Jet 4.0 connection objects support the use of IP address.


Thanks for the information. I am not really familiar with databases
(especially Access databases), but I read what I wrote somewhere some time
ago...

--
Herfried K. Wagner
MVP VB Classic, VB.NET
http://www.mvps.org/dotnet

Nov 20 '05 #11

P: n/a
"Jerry" <Je*********@yahoo.com> schrieb
Herfried,

Sorry you are incorrect. I do this everyday. If the client has
large datasets I put him on SQL 2000. IP addresses work to access
ANYTHING just as if I use a DNS name.

I don't think you are *directly* accessing the database over TCP/IP. On
which port should I or the Jet Engine connect? What's the protocol? What's
listening on the server for the client's requests?
--
Armin

Nov 20 '05 #12

P: n/a
Cor
OledDB?
Nov 20 '05 #13

P: n/a
Cor
Correction the next was ununderstandable.
..
Jet 4.0 connection objects support the use of IP address.
I don't have a public server available right now to show you that you can
Read/Write whatever to a Jet database from anywhere over the Internet, but
if I have time to get my 2003 server installed I will be glad to send you a VB.NET exe which will connect to it. Give me a few weeks. I used this method in the infancy stages of a large project for a large corporation so that
they could continue development while waiting for their SQL server.

OleDB?
Nov 20 '05 #14

P: n/a
Armin,

..NET takes care of all that. The key difference between using SQL 2000 or
Oracle as opposed to Jet is what it does to the SERVER, not how it looks to
the client. By the time data gets to the client it is XML and he doesn't
care what served it to him. If you are serving a large database you should
use a Data server which optomizes things on the server. Jet does little to
help the server run well.
MS Access (I think 95 and above) actually has tools for establishing
connections over the Internet within itself. If you have a copy check it
out. You can establish the connection by IP or by path name.

Regards
"Armin Zingler" <az*******@freenet.de> wrote in message
news:OG**************@TK2MSFTNGP11.phx.gbl...
"Jerry" <Je*********@yahoo.com> schrieb
Herfried,

Sorry you are incorrect. I do this everyday. If the client has
large datasets I put him on SQL 2000. IP addresses work to access
ANYTHING just as if I use a DNS name.

I don't think you are *directly* accessing the database over TCP/IP. On
which port should I or the Jet Engine connect? What's the protocol? What's
listening on the server for the client's requests?
--
Armin

Nov 20 '05 #15

P: n/a
OleDB.

"Cor" <no*@non.com> wrote in message
news:3f***********************@reader20.wxs.nl...
Correction the next was ununderstandable.
.
Jet 4.0 connection objects support the use of IP address.
I don't have a public server available right now to show you that you can Read/Write whatever to a Jet database from anywhere over the Internet, but if I have time to get my 2003 server installed I will be glad to send
you a
VB.NET exe which will connect to it. Give me a few weeks. I used this

method
in the infancy stages of a large project for a large corporation so that
they could continue development while waiting for their SQL server.

OleDB?

Nov 20 '05 #16

P: n/a
Armin,

I'll get back to you on the Port.
I have to go do something now.

"Armin Zingler" <az*******@freenet.de> wrote in message
news:OG**************@TK2MSFTNGP11.phx.gbl...
"Jerry" <Je*********@yahoo.com> schrieb
Herfried,

Sorry you are incorrect. I do this everyday. If the client has
large datasets I put him on SQL 2000. IP addresses work to access
ANYTHING just as if I use a DNS name.

I don't think you are *directly* accessing the database over TCP/IP. On
which port should I or the Jet Engine connect? What's the protocol? What's
listening on the server for the client's requests?
--
Armin

Nov 20 '05 #17

P: n/a
Cor
Jerry,
Before you think that I see no problems accessing MS-Access over Internet, I
think that is widely spread used and gives in my opinion with low access no
problems.
The only thing I don't see, how to access a MS-Access database on a server
(without IIS) in Amsterdam, while the IIS (Asp.net) server that access it
(connected to it) is in NewYork.
Cor
Nov 20 '05 #18

P: n/a
The thing is Cor that you have to access the disk that the .mdb file is on.
Once you have that you just open the file as normal.

It's the accessing of the disk that can be problematic because it needs to
use the netbios related ports on the target server which are unlikely to be
open and exposed to the internet, as a matter of course, at the target site.

If you recall, these were the ports that allowed that recent nasty to do
it's stuff.

But, the point is, if you can connect to the share containing the file, then
you can open the .mdb.

"Cor" <no*@non.com> wrote in message
news:3f***********************@reader20.wxs.nl...
Jerry,
Before you think that I see no problems accessing MS-Access over Internet, I think that is widely spread used and gives in my opinion with low access no problems.
The only thing I don't see, how to access a MS-Access database on a server
(without IIS) in Amsterdam, while the IIS (Asp.net) server that access it
(connected to it) is in NewYork.
Cor

Nov 20 '05 #19

P: n/a
Cor
Stephany,
That I know, in that way I can reach every other file.
But what I mean in saying it in other words is that when you connect to an
SQL server in your IDE you do not have to give a share, it is a Server over
IP I think (there stops my knowledge at the moment).
It is an extra benefit, but one that I don't believe that I ever shall use.
But it is an extra benefit.
But it is becoming a theoretical discussion just because Herfried
misunderstood the question.
And I am not good in that I am very pragmatic.
I only came in to try to make things clear between connection and access.

But thanks for your post.
I apriciate it.

Cor
Nov 20 '05 #20

P: n/a
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*********@yahoo.com> wrote in message
news:O8**************@tk2msftngp13.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 "\\MyNetComputer\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******@neosis.pt> wrote in message
news:uA**************@TK2MSFTNGP09.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


Nov 20 '05 #21

P: n/a
Stephen,

Of course the question was "Is it possible?" I gave 3 ways to make it
"possible" not "practical" or "safe". Of course the VPN tunnel is the way I
would prefer to do it. I think that if we fired people for creating network
places to shares which have their security access on them we would have to
fire a lot of people.

Regards
"Stephen Martin" <sm*****@removethis.emsoft.andthis.ca> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
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*********@yahoo.com> wrote in message
news:O8**************@tk2msftngp13.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

"\\MyNetComputer\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******@neosis.pt> wrote in message
news:uA**************@TK2MSFTNGP09.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



Nov 20 '05 #22

P: n/a
Hi,
I know for sure that SocketPro at www.udaparts.com will work for you.
See the sample TestSocketProWithVBNet inside the package. Why don't you give
it a try?

--
Yuancai (Charlie) Ye
RDB, a tool for fast and securely accessing remote databases with dial-up,
cable, DSL and wireless modems anywhere

Fast and securely accessing all of remote data sources anywhere with
SocketPro using batch/queue, non-blocking and parallel computation

See 30 well-tested and real OLEDB examples
www.udaparts.com
"Cor" <no*@non.com> wrote in message
news:3f***********************@reader20.wxs.nl...
Herfried,
MS Access is a desktop database management system. Access and the Jet
drivers do not support to use a port in the network. If you want to

access
the database over the intranet or internet, you should use an other

database
management system like MS SQL Server or MySQL.

I think the wrong word is access the database, Everybode can access a
textfile over the Internet or a network.
I think you did you mean something as direct access (connection) to the
database?
Just one wrong word in English.
But people love to correct you, be proud.
:-)
Cor

Nov 20 '05 #23

This discussion thread is closed

Replies have been disabled for this discussion.