From: Seuffert, P. J. <pet...@ng...> - 2005-03-22 15:10:21
|
Thank you for your swift reply Jeff. Unfortunately, I have found = another problem that may or may not be related. I've attached two files that demonstrate what I'm seeing, but in = essence, if the table consists of only numbers, there appear to be data = loss issues. The db I'm using is a large relational db, and most of the = tables start with a three column key consisting of 2 strings and an = integer value. Using the mdb-export utility, I have verified that these = tables are being read in without problem. There is at least one table, = however, that consists of numerous rows containing four columns, and = using the mdb-export tool, I can see that I'm losing data in the export = functionality. More specifically, the rows that end in zero seem to be = exported fine, while all those that don't come across as just commas. = For example, using Access to export the data into csv files, one excerpt = shows: 2,39,340.00,0.00 2,40,350.00,0.00 3,1,0.00,3.00 3,2,45.00,2.00 3,3,90.00,0.00 while the mdb-export utility leaves the same area looking like: 2,39,340,0 2,40,350,0 ,,, ,,, 3,3,90,0 The .csv file attached is from mdb-export, while the .txt is from = Access. Any help would be greatly appreciated. Thanks, Pete Peter Seuffert II Northrop Grumman Corporation -----Original Message----- From: Jeff Smith [mailto:why...@ya...] Sent: Saturday, March 19, 2005 9:56 AM To: Seuffert, Peter J.; mdb...@li... Subject: Re: [mdb-dev] Problems with mdbtools handling large numbers --- "Seuffert, Peter J." <pet...@ng...> wrote: > I'm trying to use mdbtools to read an access97 db on a Fedora Core 2 = linux box. Its > working fantastically, except for one issue with large numbers. In = Access, I can see > the numbers in one column increase up past 100,000, but in a while = mdb_fetch_row() > loop, the last valid value my program receives is 100,000. The next = number in the db > should be 125,000 but the value being returned by mdbtools is = truncated to 125. The > mdb-export utility is verifying that my program isn't doing anything = quirky with the > return. Peter, I have isolated the problem and it is now fixed in cvs. Trailing = zeros after a decimal point were supposed to be trimmed, but the trailing-zero trimming was = also occurring on numbers without a decimal point. 100000 worked only because of a quirk = that caused it to have an intermediate value of "100000.0". I have corrected this as = well, though I doubt many people will notice as its effects are more subtle. Thank you for your report. -- Jeff Smith =09 __________________________________=20 Do you Yahoo!?=20 Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/=20 |