ID:               36250
 Updated by:       [EMAIL PROTECTED]
 Reported By:      fred dot cohen at iridium dot com
-Status:           Open
+Status:           Closed
 Bug Type:         OCI8 related
 Operating System: Solaris 9
 PHP Version:      5.1.2
 New Comment:

Ok, I've commented out OCIPing() call, OCI8 from now will use
OCIServerVersion() with all client versions.


Previous Comments:
------------------------------------------------------------------------

[2006-03-07 00:18:41] cjbj at hotmail dot com

OCIPing requires 10.1 or 10.2 OCI client libraries.  It will (or
should) return a nice error when the database server is 8.1 or 9.2.
This won't help PHP validate the connection as intended when connected
to these older databases.  The oci8 extension should just use
OCIServerVersion.

The OCI Developers are against the concept of pinging for each
connection because it is an unneccessary round-trip between OCI client
and database server.

------------------------------------------------------------------------

[2006-03-06 22:19:53] fred dot cohen at iridium dot com

That's what Oracle is telling us. 
This is directly from our ticket with them:

I think there are 2 things you can do to fix your problem.

1. Install the 10.2 listener in the box where your 10.1.x or your 9.x
database are running and use that listener to listen for your 
databases.
2. Fix the OCI8 driver for PHP so it does not use OCIPING at all


We're awaiting further response from Oracle because their response
conflicts with all the documentation I've been able to find on OCI and
the OCIPing function.

------------------------------------------------------------------------

[2006-03-05 08:43:35] [EMAIL PROTECTED]

So you're effectively saying that OCIPing() which exists in OIC is not
supported by Oracle servers 8 and 9 and causes them to crash? 
This sounds really.. hmm.. weird, because I was recommended to use
OCIPing() namely by Oracle developers.

------------------------------------------------------------------------

[2006-03-04 07:41:10] fred dot cohen at iridium dot com

It might be a good idea get the Server Version with a call to
OCIServerVersion rather than relying on the OCI_xx_VERSION defines. 
Any of the developers care to comment?


#if OCI_MAJOR_VERSION >= 10 && OCI_MINOR_VERSION >= 2
        /* OCIPing() is usable only in 10.2 */
        OCI_G(errcode) = PHP_OCI_CALL(OCIPing, (connection->svc, OCI_G(err),
OCI_DEFAULT));
#else
        char version[256];
        /* use good old OCIServerVersion() by default */
        OCI_G(errcode) = PHP_OCI_CALL(OCIServerVersion, (connection->server,
OCI_G(err), (text*)version, sizeof(version), OCI_HTYPE_SERVER));
#endif

------------------------------------------------------------------------

[2006-03-04 07:33:51] fred dot cohen at iridium dot com

Oracle is claiming OCIPing isn't a supported in anything less than
oracle 10.2

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/36250

-- 
Edit this bug report at http://bugs.php.net/?id=36250&edit=1

Reply via email to