Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 28 Sep 2007 08:41:32

fclement
Affranchi(e)
 
Date d'inscription: 27 Aug 2007
Messages: 3

PHP5 + Freetds + UnixOdbc + StoredProc + RETVAL

Bonjour,
j'ai mis en place un serveur Linux / PHP5 avec Freetds pour accéder à MsSql2000.
Tout fonctionne correctement mis a part un petit point :
J'utilise en PHP les fonctions mssql_xxxxxxx

Script PHP :

                 $proc_add=mssql_init("dbo.P_VIA_ADD_GROUP",$conn);
                mssql_bind($proc_add,"RETVAL",&$RETVAL,SQLINT4);

                mssql_bind($proc_add,"@label",&$_POST["label"],SQLVARCHAR,FALSE,FALSE,60);
                mssql_bind($proc_add,"@qMaxSize",&$_POST["qMaxSize"],SQLINT4);
                mssql_bind($proc_add,"@qMaxDuration",&$_POST["qMaxDuration"],SQLINT4);
                mssql_bind($proc_add,"@wrapUp",&$_POST["wrapUp"],SQLINT4);
                mssql_bind($proc_add,"@overflowId",&$_POST["overflowId"],SQLINT4);
                mssql_bind($proc_add,"@ratio",&$_POST["ratio"],SQLINT4);
                mssql_bind($proc_add,"@primary",&$primary,SQLVARCHAR,FALSE,FALSE,1);


                $result=mssql_execute($proc_add);
                mssql_free_statement($proc_add);

Tous les binds ci dessus se passent bien mis a part le RETVAL qui occasionen l'erreur suivante :


Warning: mssql_execute() [function.mssql-execute]: stored procedure has no return value. Nothing was returned into RETVAL in .....

Je précise évidemment que la procedure stockée contient un RETURN value à la fin ....

Cette façon de faire fonctionne sur la machine d'un collègue, je pense donc qu'ils s'agit d'un parametre de config de Freetds et/ou unixodbc et/ou php mais je ne vois pas la différence de config entre lui et moi.

Si quelqu'un a une idée .......

Dernière modification par fclement (28 Sep 2007 08:42:39)

Hors ligne

 

#2 28 Sep 2007 21:39:07

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: PHP5 + Freetds + UnixOdbc + StoredProc + RETVAL

Salut,
   Mon idée serait de vérifier la valeur de retour de ta procédure stockée P_VIA_ADD_GROUP. Est-ce que ta table intérogée par P_VIA_ADD_GROUP contient déjà des valeurs? As-tu testé ta procédure stocké dans sql entreprise manager?
A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#3 02 Oct 2007 07:01:03

fclement
Affranchi(e)
 
Date d'inscription: 27 Aug 2007
Messages: 3

Re: PHP5 + Freetds + UnixOdbc + StoredProc + RETVAL

La procédure stockée fonctionne bien et j'ai finalement trouvé la raison du disfonctionnement : ce type de syntaxe ne fonctionne pas avec la version 0.64 de freetds, j'ai rétrogradé en 0.63 et je n'ai plus de problèmes

Hors ligne

 

#4 03 Oct 2007 06:52:50

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: PHP5 + Freetds + UnixOdbc + StoredProc + RETVAL

A ta place je jetterais un oeil dans les changelog du projet pour savoir pourquoi (peut être une régression?)..  un jour ou l'autre tu devras sûrement mettre à jour et tu te reposeras la même question..


Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

Pied de page des forums

Powered by FluxBB