473,387 Members | 1,391 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,387 software developers and data experts.

Anyone have experience with dbUpgrader or other ways to upgrade back end?

Various versions of my app have been in use for the last 5 years or so
(in Access 97, 2K and XP editions). To upgrade the back end for people
I have to add fields to some tables, some new indexes, and a few
tables.

I have been looking at the dbUpgrader demo (the ActiveX device), but
have not been able to get it to work. Before I spend a lot of time on
this I was wondering if anyone had any suggestions on whether this is
worthwhile or if people use other ways to upgrade back ends.

This is my only application. It is low cost and I don't want to invest
a lot of money into tools to do this. I need to be able to send
something to people over the web. I can usually talk them through
installing something simple...

As usual, thanks in advance for sharing your wisdom.

Jim Mandala
Nov 13 '05 #1
2 1306
ma*****@rci.rutgers.edu (j.mandala) wrote:
I have been looking at the dbUpgrader demo (the ActiveX device), but
have not been able to get it to work. Before I spend a lot of time on
this I was wondering if anyone had any suggestions on whether this is
worthwhile or if people use other ways to upgrade back ends.


You have two basic methods of doing version upgrades to the backend MDB.

1) Ship a new empty MDB and copy the tables across in relational sequence, ie parent
records, then child tables and so forth down and across the "relational tree:" This
can be done by creating a table containing the table names with a relational sequence
field and running down the tables doing append queries.

Where appropriate you will need to copy specific fields to other tables to split data
out given new tables.

2) Create a bunch of code within your new version which creates the new tables,
relationships and new fields on existing tables. Then copy the records across from
old versions of tables to the new versions and delete the superflous fields.

Neither process is simple.

In both cases I would suggest keeping a version number of the FE and BE in a table or
property thus helping you to figure out when to run the code or not allow a new FE to
be run against an old format BE.

Also make a backup before doing any such updates, double check the number of records
in the new tables after the conversion and include a mechanism to ensure users aren't
in the backend when all this starts or during the process.

Clearly this is not going to be a simple task. <smile>

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 13 '05 #2
I had not thought of trying your firstr approach. I usually send
people a model back end and talk them through adding fields and
importing tables. dbUpgrader is an activeX device that you put on a
form. It's methods let it compare a back end with a model and then it
automatically updates the old data file. Renaming, adding or importing
as you specify with very little coding. If only I could get it to
work...

Sigh! I may give your first method a try. That would deal with the
problem I have - i.e there are many versions of the back end up there
and I don't have good record of who has what. Clearly I am an amateur!

Thanks for the suggestions.

Jim

You have two basic methods of doing version upgrades to the backend MDB.

1) Ship a new empty MDB and copy the tables across in relational sequence, ie parent
records, then child tables and so forth down and across the "relational tree:" This
can be done by creating a table containing the table names with a relational sequence
field and running down the tables doing append queries.

Where appropriate you will need to copy specific fields to other tables to split data
out given new tables.

2) Create a bunch of code within your new version which creates the new tables,
relationships and new fields on existing tables. Then copy the records across from
old versions of tables to the new versions and delete the superflous fields.

Neither process is simple.

In both cases I would suggest keeping a version number of the FE and BE in a table or
property thus helping you to figure out when to run the code or not allow a new FE to
be run against an old format BE.

Also make a backup before doing any such updates, double check the number of records
in the new tables after the conversion and include a mechanism to ensure users aren't
in the backend when all this starts or during the process.

Clearly this is not going to be a simple task. <smile>

Tony

Nov 13 '05 #3

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

Similar topics

9
by: Peter Hansen | last post by:
The term "mock filesystem" refers to code allowing unit or acceptance tests to create, read and write, and manipulate in other ways "virtual" files, without any actual disk access. Everything is...
5
by: Abyss | last post by:
My view. anyone that doesn't like it tough, click off and stop reading it. I have spent the last 45 minutes reading through all the posts, and I believe that you have all missed the mark of...
29
by: Lauren Wilson | last post by:
Does anyone know how the following info is extracted from the user's computer by a Front Page form? HTTP User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107...
13
by: penguin732901 | last post by:
Checking back for discussions, there was a lot of talk about 2000 being slower than 97, but not so much lately. What is the latest opinion? Anyone care to set up a poll for how many NG members...
3
by: LP | last post by:
Hello, I am in process evaluating different reporting tools. I did use CR 9 product in the past, but I can't say that I had good experience with it. I am just curious if anyone has tried the...
1
by: Domino | last post by:
http://www.phpnet.us/ - anyone had an experience? Are they reliable, trustworthy? Thanks,
169
by: JohnQ | last post by:
(The "C++ Grammer" thread in comp.lang.c++.moderated prompted this post). It would be more than a little bit nice if C++ was much "cleaner" (less complex) so that it wasn't a major world wide...
1
by: sklett | last post by:
I need to bang out a quick application to extract CCITT compressed TIF images from a ton of PDFs. I've used PDFSharp in the past to work with PDFs but ti doesn't have support for the PDF...
2
by: ARC | last post by:
Hello all, When a user starts my app, I run re-attaching code if the links are not valid, etc. In this routine, I then check the version of the back-end database. If the version is off, I run...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
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...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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...

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.