Apache OpenOffice (AOO) Bugzilla – Issue 87972
dbf file opened and changed. unable to save.
Last modified: 2013-08-07 15:14:30 UTC
when dbf file is opened and some change is made, version 2.4.0 reports error. There was no such problem in earlier versions. In help in EXPORT it is written that select the file format as DBf whereas the same not present in File format dialogue box.
I have got a small ods file and want to save it as *.dbf. The Export to dbf ends with error (german version:"Allgemeiner Ein-/Ausgabefehler"; read/write error). I am using version 2.4.0 under Windows 2000. I will attachment the *.ods file. Please try to save as *.dbf!
Created attachment 52798 [details] Please try to save as *.dbf
Sounds like issue 87325. *** This issue has been marked as a duplicate of 87325 ***
Closing dup.
This error has not been corrected even in version 2.4.1
@vijay_zither: please read carefully: this issue was resolved as a duplicate of issue 87325, which in turn was fixed for both, OOo2.4.1 and OOo3.0. Taking the attached test case document of this issue here I had no problem saving it to dBase with OOo2.4.1
Closing.
Created attachment 56361 [details] Database file
Created attachment 56362 [details] error generated when "save as" used or when "save " used after a change
I have sent attachment of dbase file "FORM.DBF". Please open in any relaese after 2.31 and try to save the file by clicking "SAVE AS" and giving another name say "FORM1" and keeping the same format. The error come as shown in attachment error.pdf. You can try in release 2.31 and there is no problem in that. I have reported this error many times. Please do rectify in coming version. Thanks
Hi Eike, used second attachment and can reproduce with 2.4.1 and 3.0m2 Frank
@oj: sigh.. that seems to be another case of where the database driver attempts to be smarter than dBase.. the problem here is the field description BILL_NO,N,4,0 in D1 that is numeric 4 digits with no decimals. If that's changed to BILL_NO,N,5,0 the file can be saved. Note that the numeric data in column D does not exceed 3 integer digits. To account for the internal odbc representation that adds to the length, a call to nFieldLen = SvDbaseConverter::ConvertPrecisionToOdbc( nFieldLen, nPrecision ); where nFieldLen=4, nPrecision=0 results in nFieldLen=3; therefor the values set at the column descriptor are 3 for precision and 0 for scale. Note that in a non-pro build the assertion Error: getDataSourceSetting: caught an exception! From File /so/ws/DEV300/src/dbaccess/source/core/misc/sdbcoretools.cxx at Line 127 is displayed twice during the call to sdbc::XRowSet::execute(), didn't investigate whether that's related, probably yes; the same assertion is displayed when loading the document. Then when writing the values with sdbc::XResultSetUpdate::insertRow() the error is reported. The exception thrown is SQLException ErrorCode: 0, SQLState: HY000, Message: invalid value for column 'BILL_NO'
Issue 91906 is a duplicate of this one which is already fixed. I move the diff for that one into cws dba301a and set it to fix.
THIS PROBLEM STILL PERSISTS IN VERSION 3. OPEN THE ATTACHED FAILE FORMS.DBF AND TRY TO SAVE WITH NEW NAME AND KEEPING THE SAME FORMAT. YOU CANNOT SAVE THE FILE AND EEROR IS GENERATED. UPTO VERSION 2.31 EVERYTHING IS OK. I DON'T KNOW WHY THE MAIL IS TOLD AS THE ISSUE IS RESOLVED, WHEN THE SAME WAS NEVER RESOLVED.........
PLEASE RECTIFY THE ERROR.........
Moin vijay_zither , first of all you don't have to shout. 2nd when you look at the comment I wrote down for this issue you'll see that this issue is fixed in the cws ( child work space) dba301a. This cws is targeted for release 3.0.1 which is on the way. So this issue can not be fixed in a 3.0. http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fdba301a Best regards, Ocke
Please verify in cws dba301a.
Hi Olli, one for you I think. Frank
verified in CWS dba301a find more information about this CWS, like when it is available in the master builds, in EIS, the Environment Information System: http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=OOO300%2Fdba301a
Verified with OOo300m15 Closing
Created attachment 59792 [details] dbase file
Defect removed partially. It still exists. 1. Forms.dbf works fine now 2. New attchment zmt0809r.dbf behaves abnormally 3. when tried to SAVE AS keeping the same format, same old error is generated. 4. However file is partially saved i.e. only upto record number 55 whereas in origional file records are 758
Created attachment 59793 [details] new file saved from origional zmt0809r.dbf
I am also sending new file saved ZMT0809r1.dbf which have 55 records whereas in orgional file there are 758 records.
@oc: The "usual" cause ... field PC_JAWSR (in spreadsheet column R) is defined to be numeric length 2 with 0 decimals. Up to record 55 only one digit is used, record 56 has two digits (value 12 in R57).
we need to agree on a new target.
I suggest 3.1
Can someone verify that on a DEV300 m40 build? I tested it and it works. Thanks.
m48 would not show rows beyond row 56.
I can't reproduce the problem on DEV300_m48 (will be on the way to OOo3.2) => fixed
closed fixed