ID: 25818
Updated by: [EMAIL PROTECTED]
Reported By: iolaire dot mckinnon at vcint dot com
-Status: Open
+Status: Bogus
Bug Type: OCI8 related
Operating System: RedHat Linux 9
PHP Version: 4.3.3
New Comment:
Setting those environment variables in script is not gonna work, they
need to be set BEFORE apache/php is started.
Previous Comments:
------------------------------------------------------------------------
[2003-10-10 05:32:15] iolaire dot mckinnon at vcint dot com
Description:
------------
I'm using Redhat 9, connecting to a Oracle 8.7.1 db. I have the
following PHP configuration:
'./configure' '--with-iodbc' '--with-mssql=/usr/local'
'--sysconfdir=/etc' '--with-mysql' '--with-layout=GNU' '--with-gettext'
'--with-apxs2=/usr/local/apache2/bin/apxs'
'--with-config-file-path=/etc/' '--enable-ftp' '--enable-memory-limit'
'--enable-xslt' '--with-xslt-sablot' '--with-oracle=/store/OraHome1'
'--with-oci8=/store/OraHome1'
I connect successfully to the db using OCI8, but when I perform any
select, I get an "ORA-03120: two-task conversion routine: integer
overflow" error. This occurs even if I am only selecting one row. I can
successfully select using the same query with the standard Oracle
interface, and with SQLPlus. I also had this problem with php-4.3.2.
Reproduce code:
---------------
putenv("ORACLE_SID=REP");
putenv("ORACLE_HOME=/store/OraHome1");
putenv("TNS_ADMIN=/store/tnsnames.ora");
OCIInternalDebug(1);
$username = "MCKINNONI";
$passwd = "xxxxxxx";
$db="(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=xxxx)(PORT=1521)
)
)
(CONNECT_DATA=(SERVICE_NAME=REP))
)";
$conn = OCILogon($username,$passwd,$db);
$stmt = ociparse($conn,"select EMAIL from SpinroomEmailAddresses where
EMAIL = '[EMAIL PROTECTED]
int.com'");
ociexecute($stmt);
while (ocifetch($stmt))
echo "[".ociresult($stmt,"EMAIL")."]\n";
Expected result:
----------------
[EMAIL PROTECTED]
Actual result:
--------------
OCIDebug: _oci_open_server new conn=0 dname=(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=xxxx)(PORT=1521)
)
)
(CONNECT_DATA=(SERVICE_NAME=REP))
)<br />
OCIDebug: _oci_open_session new sess=5 user=MCKINNONI<br />
OCIDebug: oci_do_connect: id=6<br />
OCIDebug: oci_parse "select EMAIL from SpinroomEmailAddresses where
EMAIL = '[EMAIL PROTECTED]'" id=7 conn=6<br />
Warning: ociexecute(): OCIStmtExecute: ORA-03120: two-task conversion
routine: integer overflow
in /var/www/html/oracletest2.php on line 21
OCIDebug: START php_rshutdown_oci<br />
OCIDebug: END php_rshutdown_oci<br />
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25818&edit=1