Au cours de mes recherches Google sur ce sujet, je suis tombé sur cette discussion. Comme je viens tout juste de le faire fonctionner, je publie les éléments clés :
do_system("mknod " . $opath . "/foo.p p");
unless (fork) {
do_system("gunzip -c " . $opath . "/" . $tb . ".gz > " . $opath . "/foo.p");
}
do_sql($db,"insert into ". $tb . " select * from ". $tb . "_ext;");
Ne tenez pas compte du nom de mes variables et de mes fonctions. En substance, on crée un pipe, on lance un gunzip en arrière-plan vers ce pipe, puis on déclenche l'insertion au premier plan. Notez que la table externe est créée avec cette option :
'PIPE:".$opath."/foo.p\\\\\\\\'), format \\\\\\\\'informix\\\\\\\\', express
Amusez-vous bien, même si je soupçonne que ce fil de discussion soit très ancien.
j.