#28022 [Opn->Fbk]: unixODBC functions broken if php>4.3.4

From: Date: Fri, 16 Apr 2004 15:52:35 +0000
Subject: #28022 [Opn->Fbk]: unixODBC functions broken if php>4.3.4
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-58262@lists.php.net to get a copy of this message
 ID:               28022
 Updated by:       kalowsky@php.net
 Reported By:      thomas dot pataki at vonessenbank dot de
-Status:           Open
+Status:           Feedback
 Bug Type:         ODBC related
 Operating System: Linux Suse 9.0 w. 2.4.25
 PHP Version:      4.3.5
 New Comment:

Considering the amount of changes between 4.3.4 and 
4.3.6 amounts to a single line in the config.m4 for 
DBMaker systems, my initial guess is that this not a PHP 
problem.  

It seems you might have a misconfiguration on the other 
end of things.  No odbcinst used.  The error itself is 
telling you the system name is needed.  Please verify 
that it exists.


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

[2004-04-16 05:55:29] thomas dot pataki at vonessenbank dot de

Description:
------------
Hello,

we used 4.3.4 with unixODBC Support compiled in(we use unixODBC 2.2.8),
php was compiled as a module 
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-unixODBC=/usr/local/unixODBC \
--with-mysql=/usr/local/mysql/4.0.16 \
--with-zlib \
--with-ftp \
--with-gd \
--with-jpeg-dir=/usr/lib \
--enable-versioning \
--enable-track-vars=yes \
--enable-url-includes \
--enable-sysvshm=yes \
--enable-sysvsem=yes \
--with-config-file-path=/etc

Until 4.3.4 everything ist working fine, but after upgrade to 4.3.5 or
even the newest 4.3.6 the connection to the DB (IBM DB2) fails with
this error:

[nativecode=S1000 [unixODBC][IBM][iSeries Access ODBC Driver]Missing
system name needed for connection.] ** odbc://xxxx:xxxx@as400/ctbessen
DB Error: connect failed

the php code of this is the following:

<?php
putenv("ODBCINI=/etc/odbc.ini"); // muss sein
require_once 'DB.php';
$user = 'xxxxx';
$pass = 'xxxxx';
$host = 'as400'; // DSN, nicht Hostname (der steht in odbc.ini)!
$db_name = 'ctbessen';
$dsn = "odbc://$user:$pass@$host/$db_name";
$db = DB::connect($dsn, true);
if (DB::isError($db)) {
     echo $db->getDebugInfo()."<br>";
      die ($db->getMessage());
          }
          $sql = "SELECT * FROM xxxx.xxxx.xxxx WHERE xxxx = xxxx"; //
AS400.database.table
          $rs = $db->query($sql);
          while ($row = $rs->fetchRow())
          {
                   print $row[1]." ";
                   print $row[2]." ";
                   print $row[11]."<br>";
                   }
                   $db->disconnect();
   ?>

if I downgrade to 4.3.4 everything is ok....
p.s. no changes to the php.ini (original from php.ini-dist)
greetings Thomas



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


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


Thread (6 messages)

« previous php.bugs (#58262) next »