RE: [PHP-INST] PHP + OPENLINK ERROR

From: Date: Mon, 11 Dec 2000 15:52:55 +0000
Subject: RE: [PHP-INST] PHP + OPENLINK ERROR
References: 1  Groups: php.install 
Request: Send a blank email to php-install+get-1140@lists.php.net to get a copy of this message
Hi Andre, How is it going ! :) I believe that you are experiencing a known issue with odbc_do and odbc_exec. These functions "directly execute" e.g. they do not first prepare a statement. Try using odbc_prepare followed by odbc_execute, to see if this makes a difference. I have not dug much deeper into the problem, but swapping in a prepare seems to resolve it. Please let me know how you get on with this. Best regards, Andrew ---------------------------------------------------- Andrew Hill Director Technology Evangelism OpenLink Software http://www.openlinksw.com XML & E-Business Infrastructure Technology Provider > -----Original Message----- > From: Andre Felipe [mailto:Andre.Felipe@embrapa.br] > Sent: Monday, December 11, 2000 12:00 PM > To: ahill@openlinksw.com > Cc: Georges da Mata Claessen; php-install@lists.php.net > Subject: Re: [PHP-INST] PHP + OPENLINK ERROR > > > Hi Andrew, remember me? > > In fact, this problem isnt exactlty THE problem. > We're using here PHP 3.0.12 with Openlink Version 2.7B (Release > 3.2) as of Fri Nov 26 1999 (cvsid 00050). > The REAL problem is that when we upgrade to PHP 4.0 or higher the > odbc functions dont work anymore. The error message is: > Warning: SQL error: [OpenLink][ODBC][Driver]Syntax error or > access, SQL state 37000 in > SQLExecDirect in > /software/apache/htdocs/aplic/teste/teste.htm on line 25 > > I had posted a message earlier about this problem, but had no > responses. Here's the message: > Hi friends, > after some digging I've found that to compile PHP 4.0.2 (or > 4.0.3PL1 or 4.0.4RC4) with Openlink > ODBC on Sun Solaris we must alter > php_odbc.c, changing: > "SQLINTEGER len" to "SDWORD len". > > Ok, it now compiles. But ODBC functions that used to work in PHP > 3.0.12 doesn't work anymore. > The following code gives the error: > Warning: SQL error: [OpenLink][ODBC][Driver]Syntax error or > access, SQL state 37000 in > SQLExecDirect in > /software/apache/htdocs/aplic/teste/teste.htm on line 28 > > <? > $db = odbc_connect("DSN=Producao;UID=notes" , "" , ""); > $query = "select nomefunc, matrica from srhtb002"; > $result = odbc_exec ($db, $query); // THIS is line 28 > print "ok. result = $result"; > > $nextrow = odbc_fetch_row($result, 1); > if (! $nextrow ) { > print "Nothing...<br>"; > } > else { > print odbc_result($result , 1 ); > print "<br>"; > print odbc_result($result , 2 ); > } > ?> > > Does these ODBC functions changed their sintax ???????? > > Best regards, > André Felipe > > > > > Andrew Hill wrote: > > > Hi Georges, > > > > A couple things could cause this problem - basically you have a > > configuration problem with Openlink, not PHP. > > > > Make sure that you can succesfully test the DSN from the PHP box using > > odbctest before trying to use a DSN from PHP. > > > > The error you have received could be caused by either of the following: > > - the Service Type in the odbc.ini is not on that is recognized > > - the ing#_sv or oig#_sv agent on the server side is > built for the wrong > > platform, cannot be executed because it's not in a directory with proper > > permissions, or cannot be found at all. To verify that it is a correct > > component, try to execute it for a version string: e.g. oig2_sv > -? if there > > is a problem here due to bad file type then it's built for the wrong > > platform. If you get an error that it cannot find a libiodbc.so.1 or > > something similar, it means you have not set your environment variables > > before starting the oprlqb. These are contained in openlink.sh - I > > recommend putting them in your .profile for ease of use. To verify that > > they are set, try an: env and look for ODBCINI, ODBCINSTINI, and > > LD_LIBRARY_PATH. > > You also may need to append the location of the Ingress lib > directory to the > > LD_LIBRARY_PATH variable, although this is not strictly > necessary unless you > > are trying to connect across build numbers. > > > > Start your oplrqb with logging (./oplrqb +loglevel 7) but make > sure that you > > have: . ./openlink.sh before you do so, and then examine the > oplrqb.log > > after reproducing the problem. You should be able to get more > info about > > what is going on. > > > > Since this is probably an Openlink configuration issue instead of PHP, > > please take any future correspondence off-list if you are still > experiencing > > problems after trying these suggestions. > > > > You can open a free tech support case at > > http://www.openlinksw.com/support/suppindx.htm > > > > Hope this helps. > > > > Best regards, > > Andrew > > ---------------------------------------------------- > > Andrew Hill > > Director Technology Evangelism > > OpenLink Software > > http://www.openlinksw.com > > XML & E-Business Infrastructure Technology Provider > > > > > -----Original Message----- > > > From: Georges da Mata Claessen [mailto:georges@embrapa.br] > > > Sent: Monday, December 11, 2000 6:35 AM > > > To: php-general@lists.php.net; php-install@lists.php.net > > > Subject: [PHP-INST] PHP + OPENLINK ERROR > > > > > > > > > I'm getting this error using PHP 4 with OPENLINK under Solaris 2.7 > > > > > > Warning: SQL error: [OpenLink][ODBC]unable to contact the requested > > > database agent, SQL state 08004 in SQLConnect > > > in /software/apache/htdocs/estagio/teste/testedesenv.htm on line 2 > > > > > > Warning: Supplied argument is not a valid ODBC-Link resource in > > > /software/apache/htdocs/estagio/teste/testedesenv.htm on line 6 > > > > > > We compiled PHP using OPENLINK and we got some errors on the > > > compilation. Under PHP 3, we could contact the database properly, via > > > ODBC, but with PHP 4 we always get this error. > > > > > > Please if someone from Openlink could help I would be very > gratefull. We > > > are using Ingres here. > > > > > > Georges. > > > > > > > > > -- > > > PHP Install Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: php-install-unsubscribe@lists.php.net > > > For additional commands, e-mail: php-install-help@lists.php.net > > > To contact the list administrators, e-mail: > php-list-admin@lists.php.net > > > > > > > > > > > > > -- > > PHP Install Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: php-install-unsubscribe@lists.php.net > > For additional commands, e-mail: php-install-help@lists.php.net > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > >

« previous php.install (#1140) next »