Vous n'êtes pas identifié(e).

#1 21/06/2011 14:24:16

sco
Membre

Procedures stockees et PREPARE/EXECUTE en ECPG

Bonjour à tous,

Suite à des essais avec une version 8.4 de la base, j'ai quelques impressions, certains d'entre-vous pourraient-ils confirmer ou infirmer :

- pas possible de faire du PREPARE/EXECUTE dans de l'ECPG. J'ai constamment du "-202:too few arguments on line...". Mais j'ai le bon nombre d'arguments
- pas possible d'appeler une procedure stockée depuis du code embarqué. J'ai constamment du "-202:too few arguments on line..." alors que la meme ligne passe dans psql sans probleme :

CREATE OR REPLACE FUNCTION insert_objet(text , text )
RETURNS void AS
$delimiter$
INSERT INTO objet ( sn_objet , mac_address_objet )
VALUES ( $1 , $2 );
$delimiter$
LANGUAGE SQL;

Depuis ECPG (FAIL) :
EXEC SQL SELECT insert_objet('sdfd','a5:55:44:88:78:04');

Depuis psql (OK) :
LOG:  statement: SELECT insert_objet('sdqqfd','aa:55:44:88:78:04');
LOG:  duration: 3.505 ms
insert_objet
--------------------

(1 ligne)

Mon cas d'usage c'est 100000 à 200000 INSERT à faire dans une table. De base, il faut compter pres de 5 minutes, ce qui semblait beaucoup. Je voulais tenter un PREPARE, ou une procedure stockée. Sans succès...

Merci !

SCO

Hors ligne

#2 22/06/2011 23:31:30

gleu
Administrateur

Re : Procedures stockees et PREPARE/EXECUTE en ECPG

À priori, c'est possible pour le PREPARE/EXECUTE : http://docs.postgresql.fr/9.1/ecpg-commands.html


Guillaume.

Hors ligne

Pied de page des forums