2009-04-23 6 views
1

J'ai une procédure PL/SQL qui prend comme paramètre d'entrée une TABLE DE TYPE NUMBER (10).Liaison de tableau PHP sur l'appel Oracle PL/SQL

J'essaie de l'appeler à partir de php dès maintenant. La liaison ne génère aucune erreur, tout va bien. Mais le contenu de ma reliure n'est pas celui que j'attendais!

Par exemple, je lier un tableau: array (19465,19467) Du côté pl/sql je reçois ce genre de valeurs: -2.50000000000000000000000000000000E + 107

Il semble que quelque chose de mal se produire dans la précision/longueur/type? de ma liaison, mais je suis perdu.

Voici ma liaison: oci_bind_array_by_name ($ stmt, ': name', $ array, -1, SQLT_NUM);

+0

Avez-vous déjà trouvé ce produit? Nous voici en 2015 et je vois le même problème. –

Répondre

0

Essayez d'utiliser "SQLT_INT" à la place de "SQLT_NUM". Même si INTEGER est un synonyme de NUMBER (38), SQLT_NUM ne fonctionne pas.

(php A partir des rapports de bogue: [27 octobre 2006 08:37 UTC] [email protected] changement SQLT_NUM à SQLT_INT et il fonctionne très bien Il n'y a pas de différence pour OCI8 entre ces deux types de bind (ils sont. géré par la même fonction de la même manière), donc il doit y avoir une différence dans la bibliothèque OCI elle-même.)

+0

J'ai essayé ça mais ça n'a rien changé malheureusement. –