From: EverythingAccess.com S. <wa...@ev...> - 2005-03-09 14:53:42
|
>Hello list. For a project I"m developing I need to access a live mdb >database to pull some data and utilize it in a php app on a linux box. > Since the data need to be "live", I can"t simply export the mdb to >another format; I have to access it as an mdb. > >Currently, I"m trying to use mdbtools, mdbtools-odbc, and unixodbc.=20 >I"ve tried using the rpms for version 0.5-1 and 0.5-236 of the >mdbtools packages, and version 2.2.8-55 of unixodbc. > >Everything installs fine, and I can connect to my mdb just fine. The >mdb is Jet 4 and about 200 megs large, and contains a few dozen >tables. I can access most of the tables just fine. However, the one >that I actually need doesn"t come through correctly. When I use >mdb-sql to do a "describe table" on it, about the first 20 columns >come through find, but then the next 80 or so columns are completely >blank. The one between the ones that work and ones that don"t is cut >off, with only half the column name showing up. The ones with blank >column names still have their type and size displayed correctly, so >it"s kind of being read correctly. > >I"ve looked at the table in Access, and nothing seems very strange >about that particular column. My tables and column names do contain >underscores, but as it works with other tables that have underscores, >I don"t think that"s the issue. I tried the "compact and repair >database" option in Access as well, but that didn"t fix it. > >I tried compiling the 0.6 version of mdbtools, but it can"t read any >of the tables in my database. I tried the cvs version as well, but >couldn"t get it to even compile correctly. > >Any help would be greatly appreciated. >-Camden Daily =20 I=92m not part of the development team here or anything but I can tell = you what the problem is so that one of the developers can fix it. =20 The problem is that Table Definition pages can span over several Jet = pages, but I would suggest that the mdb-tools suite doesn=92t support this yet. = I am fairly certain your problem listed above is due to this as the field definitions (such as size, type etc) are listed in the table definition pages well before the field names. I also recognize this from my = companies Access recovery software when we were initially writing it. =20 Technical details; =20 A 4-byte value exists at offset 4 in each Table Definition page. This pointer will be blank unless this is a multi-page table definition. If = it is a multi-page table definition, this 4 byte value is a pointer to the = next overflow table definition page (note: you could theoretically have many spanned pages for each table definition). =20 So the mdb-tools software simply needs to attach these =91extension=92 = pages when reading the first table definition page. Each extension page = contains PageSize-8 (jet4: 4088, jet3: 2040) bytes of data which should be = appended to the tdef data before it is processed. =20 =20 Regards, =20 Wayne Phillips=20 HYPERLINK = "http://www.EverythingAccess.com"http://www.EverythingAccess.com =96 Professional Access Database Repair Service, free utilities and forums =20 =20 --=20 No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.7.0 - Release Date: 08/03/2005 =20 |