Hi Pascal

The odbc extension uses ODBC 2, while Access and Pervasive are most likely
using ODBC 3.  This may or may not be the cause of your problem. Try using
the odbtp extension at http://odbtp.sourceforge.net. It uses ODBC 3, and
may give you better results.

-- bob

On Wed, 25 Feb 2004, Pascal Schaedeli wrote:

> Hi,
> I am executing a SELECT query from PHP (4.3.4) through ODBC on a Pervasive
> 2000SP4 (all on Windows). odbc_result_all, odbc_fetch_into, and all other
> php odbc function stop returning records before the end of the effective
> resultset.
> Here is what is happening  :
> * In Pervasive: SELECT * FROM table returns n records (correct).
> * In Access, throught ODBC, the same query returns the same n records
> (correct).
> * In PHP, odbc_exec of the same query returns m<n records.
> Specifically, I have identifed one field (call it fieldx) that seems to be
> at the source of the problem : it seems stored over 4 bytes in Pervasive and
> represents a decimal number.
> If I rewrite the query in PHP to read SELECT fielda, fieldb,fieldc FROM
> table, it returns n records (correct) (just to clarify SELECT fielda,
> fieldb,fieldc,fieldx FROM table returns m<n records).
> How many is m? It depends on the sort order. I have identified with record's
> fieldx is causing the problem. The records returned by odbc_* are up to that
> problem record. If the sort order makes that problem record to be the last
> one, then m = n-1. If the sort order makes that record be the first, then m
> = 0.
> Here is even more details for those who are still reading:
> fieldx is written to Pervasive from an application for which I do not have
> the source code. If I read the content of fieldx of the problem records,
> erase it and manually re-enter it (in Pervasive Control Center), the issue
> is solved and the PHP odbc query returns n records.
> I'm not an expert on odbc and pervasive. Intuitively, it seems that the
> field is somehow missformated. However, both Pervasive and Access are able
> to interpret it correctly.
> Does anybody have a suggestion on how I could either:
> - Get Pervasive to reformat all field correctly.
> - Get the odbc library in PHP to at least give me an error, or better,
> interpret the field as Access does.
> Thanks,
> Pascal
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to