I need some advice. I will be working with a group of students on a
Java coding project. At this point, I probably need the advice more
than they do! Nonetheless, I thought it prudent to ask here before I
meet with the students again.
We have an Access database that is currently maintained through 3rd
party software. The databse contains files of scientific data. The
3rd party software adds files into the database, takes them out,
processes the files. It also maintains a few other columns of
information about each file in the database. (1 row = several
columns of files plus several columns of other information).
We will be moving this processing into Java. We are doing so because
the 3rd party software is costly, and because it is no longer
adequately maintained. The company was sold and we see the
handwriting on the wall. Furthermore, we want to be able to allow
students and other researchers easier access to the type of
processing we do on this database.
So question: Should we continue to have an Access database? Would
something else make more sense?
Thank you in advance for any advice you might give,
Lin DeNoyer
Bjorn Abelli - 24 Feb 2004 16:23 GMT
"Lin DeNoyer" wrote...
> We have an Access database that is currently maintained
> through 3rd party software. The database contains files
> of scientific data. The 3rd party software adds files
> into the database, takes them out, processes the files.
It's not much of information you're giving us, as what the processing
actually does or what the design or contents of the data are.
> We will be moving this processing into Java.
> We are doing so because the 3rd party software
[quoted text clipped - 8 lines]
> Access database? Would something else make
> more sense?
Probably, if your Java-applications are to be the only ones to access the
data in the database.
But on the other hand, if there are situations where the users need more
"hands-on" on the contents of the database, Access could likely be what
they're used to, and hence it could be a point of continue to use it.
However, the information you've given us does not show how the database
actually is used, e.g.;
- Will each student have his own copy of the
database, or do all access one and the same
system-DB over the network?
- Does the application of today make use of
any Access-specific functionality?
Since it's relatively simple to change what database you will be using as
the backend later on, my advice would be to start with Access for now, and
eventually change that to something more appropriate later if needed. In
that way you can use your existing applications as a direct reference.
my 2c
// Bjorn A
Lin DeNoyer - 24 Feb 2004 17:40 GMT
Bjorn,
Thank you for your comments. To answer your questions, (1) we intend that
each student/researcher have his/her own copy of the database, (2) the are no
Access-specific functions performed on the database.
In fact, thinking about it, I could quite easily provide all the database info
separately, for inserting into a new database if a different DB structure is
more universal. We intend that the database + Java interface be available for
Linux as well as PCs.
Also, I wonder if each student would need a copy of Access if we stick with
Access as our DB. Or can each student access the Access DB through Java?
Lin
Bjorn Abelli - 24 Feb 2004 20:51 GMT
"Lin DeNoyer" wrote...
> Also, I wonder if each student would need a copy of
> Access if we stick with Access as our DB. Or can
> each student access the Access DB through Java?
AFAIK, the JET-database in Access would still be accessible through the
ODBC-driver/JDBC-ODBC-bridge, even if MS Access in itself isn't installed,
but...
> In fact, thinking about it, I could quite easily
> provide all the database info separately, for
> inserting into a new database if a different DB
> structure is more universal. We intend that the
> database + Java interface be available for
> Linux as well as PCs.
I wouldn't say that the structure of DB is much less universal than any
other. As most DBs today it conforms to most of standard SQL-92, which I
would say is a minimum of "universality"...
But, if you *still* want each student/researcher to have his/her own copy of
the database, even on different platforms, then Access maybe shouldn't be
your primary choice in the long run...
In that case you should be looking for a DB that can run on both platforms,
such as the Java-based ones.
Another choice I come to think of is whether they are connected to a
network, where you can have a DB-server running. Each student/researcher
could still have his/her own space on that.
Now I'm up to 4c... :-)
// Bjorn A
Lin DeNoyer - 24 Feb 2004 23:33 GMT
Bjorn,
Your advice, your suggestions, are most helpful. Thank you very much.
Lin
Mladen Adamovic - 25 Feb 2004 14:27 GMT
> We will be moving this processing into Java. We are doing so because
> the 3rd party software is costly, and because it is no longer
> adequately maintained. The company was sold and we see the
> handwriting on the wall. Furthermore, we want to be able to allow
> students and other researchers easier access to the type of
> processing we do on this database.
I recommend no, but if it is easy to you to use, use it in standard way -
create ODBC Access connection then use it in Java via JDBC-ODBC bridge.
I suggest one of following servers :
1. Hibernate SQL
my opinion: pure Java SQL, but a bit buggy, but easy to install, not so slow
as man ussualy think of Java programs
2. MySQL
some versions are free for nocommercial use, but has a lack of full SQL
compliant, but really fast
3. PostrgreSQL
it should be full SQL compliant, but slow, I didn't use it recently, but I
indend to try (I think this one should be good-old one, as Unix operating
systems are)
Good Luck.