mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-04-05 20:31:00 +08:00
Fixed some doc.
Reverted to Access datatype names in table.c
This commit is contained in:
parent
2475fae882
commit
74aca167d5
15
HACKERS
15
HACKERS
@ -63,6 +63,10 @@ record ends on byte 2047 (0 based).
|
||||
|
||||
Some of the offsets are not within the bounds of the page. The reason for this
|
||||
is not presently understood and the current code discards them silently.
|
||||
Offsets that have 0x40 in the high order byte point to a location within the
|
||||
page where a pointer to another catalog page is stored. This does not seem to
|
||||
yeild a complete chain of catalog pages and is currently being ignored in favor
|
||||
of a brute force read of the entire database for catalog pages.
|
||||
|
||||
Little is understood of the meaning of the bytes that make up the records. They
|
||||
vary in size, but portion prior to the objects name seems to be fixed. All
|
||||
@ -182,7 +186,7 @@ have not looked at tables large enough for this to occur yet.
|
||||
KKD Records
|
||||
-----------
|
||||
|
||||
Design View table definitions look to be stored in 'KKD' records (my name for
|
||||
Design View table definitions appear to be stored in 'KKD' records (my name for
|
||||
them...they always start with 'KKD\0'). Again these reside on pages, packed to
|
||||
the end of the page.
|
||||
|
||||
@ -205,12 +209,5 @@ Next comes one of more rows of data. (column names, descriptions, etc...)
|
||||
16 bit length field (non-inclusive)
|
||||
value (07.53 for the AccessVersion example above)
|
||||
|
||||
See kkd.c for an examples, although it needs cleanup.
|
||||
|
||||
Futures
|
||||
-------
|
||||
|
||||
Near term, I'd like to be able to pull the definitions for user tables out of
|
||||
the MDB file and into a MySQL/Postgresql/Sybase/Oracle/DB2/etc... and then
|
||||
populate the data across in one clean automated process.
|
||||
See kkd.c for an example, although it needs cleanup.
|
||||
|
||||
|
11
TODO
Normal file
11
TODO
Normal file
@ -0,0 +1,11 @@
|
||||
Things to Do
|
||||
------------
|
||||
|
||||
. Implement code for reading data rows
|
||||
. Complete list of datatypes
|
||||
. Figure out how to properly determine fixed of variable length columns
|
||||
. Figure out how NULLs are stored in data rows
|
||||
. Figure out what happens for varchar columns > 256
|
||||
. Write schema-export utility supporting different backend databases
|
||||
. Write data-export utility supporting different backend databases
|
||||
|
@ -24,22 +24,22 @@ char *mdb_get_coltype_string(int col_type)
|
||||
{
|
||||
|
||||
/*
|
||||
** need to do this is a way that will allow multiple outputs for different
|
||||
** backend servers...these are MS SQL/Sybase specific
|
||||
** These are the Access datatype names, each backend will have to provide
|
||||
** its own mapping.
|
||||
*/
|
||||
static char *type_name[] = {"Unknown 0x00",
|
||||
"Unknown 0x01",
|
||||
"Unknown 0x02",
|
||||
"smallint",
|
||||
"int",
|
||||
"Integer",
|
||||
"Long Integer",
|
||||
"Unknown 0x05",
|
||||
"Unknown 0x06",
|
||||
"Unknown 0x07",
|
||||
"smalldatetime",
|
||||
"DateTime (Short)",
|
||||
"Unknown 0x09",
|
||||
"varchar",
|
||||
"Varchar",
|
||||
"Unknown 0x0b"
|
||||
"hyperlink -- fixme"
|
||||
"Hyperlink"
|
||||
};
|
||||
|
||||
if (col_type > 11) {
|
||||
|
Loading…
Reference in New Issue
Block a user