ISODB3 was written in 1987 by the same person who wrote DB3ISO, Alejandro. For this program he used the programming language C.
It converts ISO 2709 files into dBase III records. The program comes with a 1.5 pages long manual. It is a "exe" file, which means you can run it without any additonal software.
It may be a helpful tool for documentation centers which have to share data with others that use dBase or dBase-like software. In this case it is often necessary to produce outputs that match the needs of the dBase users because they cannot import ISO 2709 files or tagged records, or at least not without large programming efforts.
ISODB3 is very fast.
It supports path statements.
It uses conversion tables that look like the CDS/ISIS field
selection tables (FST), which is a familiar technique to
CDS/ISIS users.
It warns the users when an existing file may be
overwritten.
It does not handle repeatable fields in the way most dBase
users do.
It does not convert subveld delimeters.
It does not handle numeric dBase fields correctly.
It does not handle dBase memo fields correctly.
An example may show the difficulties:
CDS/ISIS record
22: ^a19960130
100: ^a1-85604-108-5
200: ^aBuxton^bAndrew
200: ^aHopkinson^bAndrew
300: ^aThe CDS/ISIS handbook
400: ^aLondon^bThe Library Assosiation
440: ^b1994
460: ^axiv, 178 p^c24 cm
600: ^aDesigned to complement the reference manual supplied
with the package, this handbook provides a user-
friendly introduction to CDS/ISIS, arranged in the
order which a beginner would need to follow: software
installation, database definition, data entry, search
and retrieval and selection records from the database
for printing.
620: ^asoftware
620: ^adatabases
620: ^aCDS/ISIS
dBase structure
AUTHOR1 Buxton
FORENAME1 Andrew
AURHOR2 Hopkinson
FORENAME2 Alan
TITLE The CDS/ISIS handbook
SUBTITLE
PUB_PLACE London
PULISHER The Library Association
YEAR 1994
SERIES
NO
PAGES xiv, 178
ILL N
FORMAT 24
ISBN 1-85604-108-5
KEY_WORD1 software
KEY_WORD2 databases
KEY_WORD3 CDS/ISIS
DATE 01/30/96
ABSTRACT Designed to complement the reference manual
supplied with the package, this handbook
provides a user-friendly introduction to
CDS/ISIS, arranged in the order which a
beginner would need to follow: software
installation, database definition, data entry,
search and retrieval and selection records from
the database for printing.
This example shows that CDS/ISIS handles the information in a
totally different way compared with dBase: it uses repeated
fields and subfields, wheras dBase does not.
In fact, it may be very very difficult to convert such a CDS/ISIS structure into the given dBase structure. It could only be done through a lot of programming, either before the conversion (in form of CDS/ISIS format exits written in CDS/ISIS Pascal), or after it (in form of dBase programs).
However, ISODB3 will be eable to convert less complex structures quite accurate. Let's look at this example:
22: 19963001
200: The CDS/ISIS handbook
300: Buxton, Andrew
300: Hopkinson, Alan
400: London : Library Association Publishing
440: 1994
460: xiv, 178
600: Designed to complement the reference manual supplied
with the package, this handbook provides a user-
friendly introduction to CDS/ISIS, arranged in the
order which a beginner would need to follow: software
installation, database definition, data entry, search
and retrieval and selection records from the database
for printing.
620: software
620: databases
620: CDS/ISIS
This can easily be transformed into this dBase structure:
AUTHORS Buxton, Andrew; Hopkinson, Alan
TITLE The CDS/ISIS handbook
SUBTITLE
PULISHER London : The Library Association
YEAR 1994
SERIES
NO
PAGES xiv, 178
ISBN 1-85604-108-5
KEY_WORDS software; databases; CDS/ISIS
DATE 01/30/96
ABSTRACT Designed to complement the reference manual
supplied with the package, this handbook
provides a user-friendly introduction to
CDS/ISIS, arranged in the order which a
beginner would need to follow: software
installation, database definition, data entry,
search and retrieval and selection records from
the database for printing.
To fit the dBase structure, it is necessary to change the
order of the fields, otherwise ISODB3 will try to put the
content of the CDS/ISIS fields one by one into the dBase
fields. This can be done by means of a FST, which should look
like this:
CDS/ISIS numbering dBase numbering
1 0 v300 |;|
2 0 v200
4 0 v400
5 0 v440
8 0 v460
9 0 v100
10 0 v620 |;|
11 0 v22
12 0 v600
This means that ISO3DB should put the contents of CDS/ISIS
field v300 into dBase field 1, that it should separate the
occurences of v300 with ";" etc.
ISODB3 does not offer a tool to create a FST; you must do it by means of an editor.
isodb3
The program wil present this form to fill in:
| ISO to dBASE III utitlity, written by Alejandro Version 2.01, February 87. |
|
Command (Append, Load, Merge, Update) dBASE target file [.DBF] ISO input file [.MST] FST parameter file [.FST] MFN tag (Merge, Update) |
| Use: ESC (erase line) End (input worksheet) Crtl^Break(exit to OS) |
Scanning FST file...
1 0 V300 |;|
2 0 V200
4 0 V400
5 0 V440
8 0 V460
9 0 V100
10 0 V620 |;|
11 0 V22
12 0 V600
100
100 record(s) scanned File C:\ISIS\WORK\BOOKS.ISO
100 record(s) added File BOOKS.DBF
End of running.
C:\>
Note that it shows the contents of the FST it uses.
When an error occurs, the program will signal what kind of failure you have made. In the following example, there were not enough dBase fields to store the information; the number in the left colum of the FST were higher than the actual number of dBase fields:
Scanning FST file...
1 0 V300 |;|
2 0 V200
4 0 V400
5 0 V440
8 0 V460
9 0 V100
10 0 V620 |;|
11 0 V22
Invalid dBASE record
Press return key...
In this case you will have to ajust the dBase structure of the FST. Other error messages are possible, e.g.
Scanning FST file...
1 0 V300 |; |
2 0 V200
4 0 V400
5 0 V440
8 0 V460
9 0 V100
10 0 V620 |; |
11 0 V22
12 0 V600
Invalid pathname or file not found
File: C:\ISIS\WORK.MST
Press return key...
Here there is obviously something wrong with the name of the input file. It should have been something like:
C:\ISIS\WORK\BOOKS.ISO
Subfields delimeters will not be converted. In fact, they will be found in the target dBase fields in the form in which they were originally entered in CDS/ISIS, e.g.
^aHopkinson^bAlan
The program is not verry good in converting data into numeric
dBase fields, nor into memo fields:
XIV, 178 p.could be stored in a numeric field by ISODB3, but dBase will not be able to do anything with that field;
19951101 for 1th November 1995
If this date was entered in otherwise, it will be transformed into noncense: e.g.
11/01/95 will produce 1//95//0
A FST which transforms the contents of the first example (p.98) into a form as close as possible to the structure of the dBase database on p. 99, could be:
1 0 (v200^a,|, |v200^b|; |) 2 0 v300^b 3 0 v210^a 4 0 v400^a," : "v400^b 5 0 v440^b 6 0 v480^a 7 0 v480^c 8 0 v460^a 9 0 v100^a 10 0 (v620^a+|; |) 11 0 v22^a 12 0 v600^a(The fields v210 and v480 are not present in the given example, but they could be in other records). As the CDS/ISIS FST technique is by far superior to the one used by ISODV3, this method is better. Now you will not need to build a FST for ISODB3.
You will find that even then some problems can only be solved, either by dBase programs or by CDS/ISIS format exits.