473,418 Members | 2,100 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,418 software developers and data experts.

Linking to tables in Firebird or other db

I have an Access 2003 application that is split into two .mdb files for
the interfaces and data. This app is distributed on a CD to be used on
computers that have no internet access. When someone needs an updated
dataset the backend .mdb is refreshed from a load of Oracle tables and
sent on CD so that the user only needs to replace a single file. The
front end links to the tables in the back end.

The problem is that the amount of data required is steadily growing and
has now surpassed the 2GB file size limit. I need to leave the front
end in Access as this is a big nasty dog of an app written by someone
else and I don't have time to tackle a rewrite right now (as much as
I'd love to). What I'd like to find, ideally, is an open-source
database that can be distributed as a file or set of files that Access
can link to. As I have no control over machine configurations I'd
prefer to stay away from creating DSNs, installing software or
registering DLLs if possible. I've been playing with Firebird and it
looks like it would work admirably if I could work out how to get
Access to link to its tables but haven't had much luck so far. I'd be
grateful for any ideas or suggestions.

Dec 12 '05 #1
10 4437

"Jennifer Carr" <js****@gmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
I have an Access 2003 application that is split into two .mdb files for
the interfaces and data. This app is distributed on a CD to be used on
computers that have no internet access. When someone needs an updated
dataset the backend .mdb is refreshed from a load of Oracle tables and
sent on CD so that the user only needs to replace a single file. The
front end links to the tables in the back end.

The problem is that the amount of data required is steadily growing and
has now surpassed the 2GB file size limit. I need to leave the front
end in Access as this is a big nasty dog of an app written by someone
else and I don't have time to tackle a rewrite right now (as much as
I'd love to). What I'd like to find, ideally, is an open-source
database that can be distributed as a file or set of files that Access
can link to. As I have no control over machine configurations I'd
prefer to stay away from creating DSNs, installing software or
registering DLLs if possible. I've been playing with Firebird and it
looks like it would work admirably if I could work out how to get
Access to link to its tables but haven't had much luck so far. I'd be
grateful for any ideas or suggestions.


I don't know for certain if it will meet your needs, but you might want to
take a look at PostgreSQL. It's open source and quite scalable.

--
Randy Harris
I'm pretty sure I know everything that I can remember.

Dec 12 '05 #2
Thanks for your reply, Randy. I wish I could draw diagrams in here to
clarify my structure, but I'll try to verbalize it better. I need
something that can be distributed as a standalone data file that
Microsoft Access can use to retrieve data. The data should live in this
data file and be linked from Access, the same way that you can link
tables from other Access containers or ODBC data sources. I've also
been looking at MySQL and PostgreSQL but it appears, unless I'm missing
something (likely) that neither can be distributed as a standalone file
db. Neither can the desktop SQL Server (MSDE ...or SQL Server Express
now).

The reason I'm looking so closely at Firebird is that those folks do
provide an "embedded" version that can be distributed as a data file
and a .dll, but I can't work out how to make that work in Access
without registering the .dll on the machine.

I'm extremely hesitant to try to install anything on user machines
because I don't have access to or control over them. I know that some
of them are still running Win98, which locks out MSDE as it requires,
at minimum, Win2000. Some of them are also locked down administratively
so that the users can't install software or have access to machine
configuration, which means that trying to create a DSN or register a
DLL could be tricky.

I welcome any and all suggestions. Gratefully.

Dec 13 '05 #3
I don't, of course, understand your situation completely. I am guessing
you need something (for a backend) that is more efficient for storage
than Access so that it can fit on a CD.
If that's the problem and if I were trying to solve the problem I would
consider DBF / X-Base / FoxPro / FoxBase / Clipper / DBase files.
The older versions of these with which I worked were very simple fixed
length , header dependent text files. As such they were extremely
compressible with ZIP. They also had many indexing options including
maintaining indexes as separate files. I would look at distributing the
data without indexes and, if I could, indexing the tables later.
Access will, TTBOMR link to most dbf files.
Having an all MS solution might be an advantage; I don't know.
I'm not so much recommending this as pointing it out as a possibility
that you did not mention.
I don't know Firebird and am not trying to suggest that it wouldn't be
good.

Dec 13 '05 #4
Access can link to ODBC-compliant databases provided you have ODBC drivers
for that database. I've used Access as a client to Informix

The new MS SQL Server 2005 Express does not have the 2 GB limit, and
Microsoft has said it would be free at least for the next year. The machines
using it, however, have to have the latest .NET framework installed.

Another alternative is to split the data/backend DB into multiple databases,
but you cannot establish a relationship between tables in two different
MDBs.

Larry Linson
Microsoft Access MVP

"Jennifer Carr" <js****@gmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...
I have an Access 2003 application that is split into two .mdb files for
the interfaces and data. This app is distributed on a CD to be used on
computers that have no internet access. When someone needs an updated
dataset the backend .mdb is refreshed from a load of Oracle tables and
sent on CD so that the user only needs to replace a single file. The
front end links to the tables in the back end.

The problem is that the amount of data required is steadily growing and
has now surpassed the 2GB file size limit. I need to leave the front
end in Access as this is a big nasty dog of an app written by someone
else and I don't have time to tackle a rewrite right now (as much as
I'd love to). What I'd like to find, ideally, is an open-source
database that can be distributed as a file or set of files that Access
can link to. As I have no control over machine configurations I'd
prefer to stay away from creating DSNs, installing software or
registering DLLs if possible. I've been playing with Firebird and it
looks like it would work admirably if I could work out how to get
Access to link to its tables but haven't had much luck so far. I'd be
grateful for any ideas or suggestions.

Dec 13 '05 #5
Yeah, 'fraid so. The culprit here is over 1.6GB and continuously
growing so anything I do in that direction would only be a temporary
measure.

Dec 13 '05 #6
Interesting suggestions, Lyle, thanks! I'll have a closer look at them
when I get to work this morning.

Currently we .cab the .mdb to distribute it on a CD and that works
pretty well. ZIP would work as well. My biggest concern is to get
this data out of the .mdb in a format that Access can still use without
having to rewrite the app (lots and lots of embedded queries and form
dependancies).

Lyle Fairfield wrote:

I don't, of course, understand your situation completely. I am guessing
you need something (for a backend) that is more efficient for storage
than Access so that it can fit on a CD.
If that's the problem and if I were trying to solve the problem I would
consider DBF / X-Base / FoxPro / FoxBase / Clipper / DBase files.
The older versions of these with which I worked were very simple fixed
length , header dependent text files. As such they were extremely
compressible with ZIP. They also had many indexing options including
maintaining indexes as separate files. I would look at distributing the
data without indexes and, if I could, indexing the tables later.
Access will, TTBOMR link to most dbf files.

Dec 13 '05 #7
Jennifer Carr wrote:
I have an Access 2003 application that is split into two .mdb files for
the interfaces and data. This app is distributed on a CD to be used on
computers that have no internet access. When someone needs an updated
dataset the backend .mdb is refreshed from a load of Oracle tables and
sent on CD so that the user only needs to replace a single file. The
front end links to the tables in the back end.


I work with oracle extensively and find Access to be a perfect front end
platform for it. I've also designed a number of apps in the past that
do exactly what you describe here, ie, take a "snapshot" of the Oracle
tables so that the data is in MS Jet (the Access native database
engine). Without knowing the nature of your Oracle tables or their
size, it seems to me the 1.62 GB mdb size is pretty scary, but here's a
simple thing you may have done already:

Do you compact the data mdb after the Oracle data is "refreshed"? How
the "refresh" is done can account for a very large mdb bloat.
--
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "Whatcha doin?" - Ditto "TIM-MAY!!" - Me
Dec 13 '05 #8
On 12 Dec 2005 14:33:36 -0800, "Jennifer Carr" <js****@gmail.com> wrote:
I have an Access 2003 application that is split into two .mdb files for
the interfaces and data. This app is distributed on a CD to be used on
computers that have no internet access. When someone needs an updated
dataset the backend .mdb is refreshed from a load of Oracle tables and
sent on CD so that the user only needs to replace a single file. The
front end links to the tables in the back end.

The problem is that the amount of data required is steadily growing and
has now surpassed the 2GB file size limit. I need to leave the front
end in Access as this is a big nasty dog of an app written by someone
else and I don't have time to tackle a rewrite right now (as much as
I'd love to). What I'd like to find, ideally, is an open-source
database that can be distributed as a file or set of files that Access
can link to. As I have no control over machine configurations I'd
prefer to stay away from creating DSNs, installing software or
registering DLLs if possible. I've been playing with Firebird and it
looks like it would work admirably if I could work out how to get
Access to link to its tables but haven't had much luck so far. I'd be
grateful for any ideas or suggestions.


When I have had such problems in the past, I've generally found a way to split
the data across multiple MDB files. There's no relational integrity between
tables across the back-end file split, but if the split is designed carefully,
the potential consequence of that can be kept small.
Dec 13 '05 #9
In your original post, you mention that your Access back end was exceeding
2GB. Do you have huge tables? Could you simply use more than one BE mdb
file?

--
Randy Harris
I'm pretty sure I know everything that I can remember.
"Jennifer Carr" <js****@gmail.com> wrote in message
news:11**********************@o13g2000cwo.googlegr oups.com...
Thanks for your reply, Randy. I wish I could draw diagrams in here to
clarify my structure, but I'll try to verbalize it better. I need
something that can be distributed as a standalone data file that
Microsoft Access can use to retrieve data. The data should live in this
data file and be linked from Access, the same way that you can link
tables from other Access containers or ODBC data sources. I've also
been looking at MySQL and PostgreSQL but it appears, unless I'm missing
something (likely) that neither can be distributed as a standalone file
db. Neither can the desktop SQL Server (MSDE ...or SQL Server Express
now).

The reason I'm looking so closely at Firebird is that those folks do
provide an "embedded" version that can be distributed as a data file
and a .dll, but I can't work out how to make that work in Access
without registering the .dll on the machine.

I'm extremely hesitant to try to install anything on user machines
because I don't have access to or control over them. I know that some
of them are still running Win98, which locks out MSDE as it requires,
at minimum, Win2000. Some of them are also locked down administratively
so that the users can't install software or have access to machine
configuration, which means that trying to create a DSN or register a
DLL could be tricky.

I welcome any and all suggestions. Gratefully.


Dec 13 '05 #10
Folks, I just wanted to pop back in to say thanks for your thoughts and
ideas, and to let you know that I did find a resolution for this issue.
After much throat clearing on my part the rest of the team has agreed
that dropping support for Win98 and installing another ODBC driver on
the user machines isn't thaaaat bad an idea, so I knocked together a
prototype using the Firebird standalone and it does the job perfectly.
Access links to the tables in Firebird just like any other ODBC
datasource. The nice thing is that the ONLY thing I have to install is
the driver and since Firebird has a 64TB database size limit I'm
thinking this is a long-term solution. *grin*

Again, thanks much for your time and thoughts. I greatly appreciate it.

Dec 25 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

44
by: Mariusz Jedrzejewski | last post by:
Hi, I'll be very grateful if somebody can explain me why my Opera 7.23 (runing under linux) doesn't show me inner tables. Using below code I can see only "inner table 1". There is no problem with...
3
by: John South | last post by:
I have an Access 2000 front end that I wish to work with a SQL Server 2000 database by means of Linked tables. Do I have to use an ODBC connection to SQL Server? It seems to be the only option...
14
by: diskoduro | last post by:
Hi!! Years ago I built a database to control the production of a little factory. The users wanted to work in a Windows Net workgroup so I created an mdb with all the tables and data an after...
0
by: gasturbtec | last post by:
please help im new at access programming and i just got this project dropped in my lap because the old programmer quit. i've been doing ok so far but now i need to add code to an existing database...
2
by: Matthew Wells | last post by:
Good morning... I have an Access front end that uses SQL Server linked tables. SQL Server uses Windows authentication. I have one Windows group that all Access users are a member of. I added...
11
by: dskillingstad | last post by:
I've been struggling with this problem for some time and have tried multiple solutions with no luck. Let me start with, I'm a novice at Access and I'm not looking for someones help to design my...
1
by: hmiller | last post by:
I'm sorry to populate the server with yet another question about linking multiple tables and queries, howerver I have not been able to find the right criteria. My problem. I am trying to...
12
by: timothy.williams | last post by:
Hi. I have a Python program that parses a file and inserts records into a database with MySQLdb. I recently upgraded to MySQL 5.0.8, and now my parser runs *really* slow. Writing out to CSV...
7
by: Salad | last post by:
I am converting an application from A97 to A2003. I have 2 tables created by another application as a Foxpro.dbf. The table has no index. The connect string in A97 is FoxPro...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.