Hello,
Our company purchased your DBF driver and we have been trying to use it in a web application (Oracle ADF/WebLogic 12c), and we have recently noticed some inconsistent behavior between records inserted from VFP and records inserted from HXTT.
Notably, when inserting records with null fields, using ISNULL() in a WHERE clause in VFP does not find the records inserted from HXTT. We believe we have traced the issue back to the CDX files. We have been able to recreate the issue with a single record. The "good" and the "bad" tables (DBF files) look identical in a hex editor, but the CDX files are different. I have these files and can send them if you need.
This is the insert statement we are running
INSERT INTO cmsmsg (cmsmsgid, timesent, timeread, empownid, emplockid, pono, empsendid, oprecvid, opsendid, clsendid, clrecvid, subject, body)
VALUES (?, ?, null, null, null, ?, null, ?, ?, ?, ?, ?, ?)
Then we run this SQL from Visual FoxPro:
SELECT * FROM cmsmsg WHERE ISNULL(emplockid)
And no records are returned. If we run the same insert statement from within Visual FoxPro then the query returns the record.
Please note that the emplockid column is being passed a literal null in the insert statement.
The emplockid column is type Character(4). It is marked index (Regular, ascending, Expression=emplockid) and NULL is checkmarked in the VFP table designer.
Please advise.
Thank You
Phil Ehrlich
|
After further investigation, it looks like the HXTT driver puts null into the DBF file correctly, but not into the CDX index tag(s), so some queries using index optimization return incorrect results.
Please advise.
Thank you
Phil Ehrlich
|
Supported. Please download the latest package.
|
Thank you, the latest package has fixed the issue.
|