Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/02/2007, 09h36   #1
Membre à l'essai
 
Inscription : août 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 47
Points : 21
Points : 21
Par défaut [PHP5]Appel procédure stockée

Bonjour @ tous les spécialistes,

Situation :

sur un serveur windows on a installé le client DB2 (version 8.1) pour accèder à l'AS400 (v5r4).
Via php, j'exécute un projet faisant des accès db2 -> db2_connect, db2_prepare, db2_exec (connection, préparation et execution de requête sql) ..

Problème :

Je n'arrive pas à obtenir de résultat à mes procédures stockées.

J'ai les messages suivant :

Warning: db2_fetch_array() [function.db2-fetch-array]: Column information cannot be retrieved in C:\w...

Info :

J'arrive à exécuter mes select (select * from LIB1.table1, ...)

On a installé un serveur http sur l'as400, j'ai installé le même code php et quand je fais :
$r = db2_exec($conn,"CALL LIB1.SP1(3331)");
et que je fetch sur le résultat, ça fonctionne parfaitement.

En bref :

sur l'as400 ça fonctionne, via windows ça ne fonctionne pas (avec le même code php)

Est-ce dû au client DB2 ??

merci pour votre aide,

maKyo
maKyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 16h34   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Hmm... Difficile à dire comme ça sans faire d'essais.
Est-ce que cela pourrait provenir d'un problème de driver ou de dll manquante ?
J'ai rencontré un problème similaire avec Windev qui ne savait pas interpréter un appel à une procedure stockée. Il a fallu tempéter auprès de l'éditeur du logiciel pour obtenir une nouvelle dll qui accepte les appels aux Pro Sto.

Le PHP sur Windows est-il capable d'appeler correctement la procédure stockée ?
Est-ce que la procédure stockée renvoit un record set curseur du style :
Code :
1
2
3
4
Declare cursor C1
SELECT ...;
Open C1;
SET RESULT SETS CURSOR C1;
ou bien un tableau (array) des lignes récupérées du style :
Code :
SET Result Sets Array ... FOR ... Rows;
et PHP récupèrerait les lignes par un fetch_array du curseur ?
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 11h04   #3
Membre à l'essai
 
Inscription : août 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 47
Points : 21
Points : 21
merci pour votre réponse.
Citation:
Envoyé par Mercure
Le PHP sur Windows est-il capable d'appeler correctement la procédure stockée ?
Est-ce que la procédure stockée renvoit un record set curseur du style :
Code :
1
2
3
4
Declare cursor C1
SELECT ...;
Open C1;
SET RESULT SETS CURSOR C1;
Il s'agit d'un declare cursor avec l'open.

On a réalisé que nous n'avions pas la dernière version de "fixpak" de la "0" on est passé à la "14"

ça aide ! tout de suite, ça fontionne beaucoup mieux.
Maintenant j'arrive à fetcher sur mes résultats.

merci,

maKyo
maKyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h25.


 
 
 
 
Partenaires

Hébergement Web