fichier dans ifs

  • Liens sponsorisés



17-01-2007 à 13:41:39
Et pourtant, je remplis la case PSEUDO, à mon avis y'a un bug. Je suis en clientèle et j'ai oublié mon MdP je ne peux donc pas m'identifier. Et sinon, qu'est-ce que j'ai loupé dans l'installe ?

Rémy.
17-01-2007 à 13:45:30
Bonjour,
A l’exécution la variable d’environnement CLASSPATH doit être initialisée de manière à pointer sur l’emplacement des classes Java (ex :’:/QIBM/ProdData/Java400/jdk13/lib/poi-2.5-final-20040302.jar’). Vous pouvez utiliser la commande WRKENVAR ou ADDENVAR pour régler cette valeur.

J'avais essayé SQL2XLS il y a quelques temps et j'ai rencontré des problèmes avec CLASSPATH.
J'ai donc changé mon CLASSPATH et supprimé dans le source RPG du pgm SQL2XLS les lignes
// set CLASSPATH environment
// rc = putenv('CLASSPATH=+
// /QIBM/ProdData/Java400/jdk13/lib/poi-2.5-final-20040302.jar');
17-01-2007 à 18:15:59
Comme vous l'indique Beppe dans ses pages à "Apache Download Mirrors", downloadez le dernier fichier jar depuis un mirroir du site Apache. Choisir un serveur pas trop sollicité tel que www.eu.apache.org par exemple. Se placer ensuite dans le dossier /jakarta/poi/release ( "/release" parce que c'est le dossier le plus récemment modifié ). Allez dans le dossier /bin et téléchargez poi-bin-2.5.1-final-20040804.tar.gz et non pas poi-2.0 qui n'y est plus.
Ouvrir l'archive et, par ftp ou une autre méthode, placez le fichier java indiqué directement dans un dossier réservé à cet effet dans l'IFS, par exemple dans /Home/javalib/. Notez le path choisi car vous allez en avoir besoin plus tard. Accordez les autorisations à *PUBLIC si vous comptez étendre l'utilisation du logiciel à d'autres utilisateurs puis lancez la compilation du Java avec la commande
CRTJVAPGM CLSF(/Home/javalib/poi-2.5.1-final-20040804.jar) OPTIMIZE(40). C'est assez long.

Quand la compil du Java est OK, téléchargez l'utilitaire SQL2XLS depuis la ligne où Beppe indique "download this simple utility" et ne copier sur l'AS400 que SQL2XLSR.rpgle et SQL2XLS.txt (commande) dans leurs fichiers source respectifs.
Modifier le programme RPGLE pour indiquer le path du Java que vous avez placé dans l'IFS. Cette modif doit intervenir à la ligne :
// set CLASSPATH environment
rc = putenv('CLASSPATH=/home/javalib/poi-2.5.1-final-20040804.jar');
Compiler le rpgle et la commande en précisant SQL2XLSR au paramètre PGM de la commande.

Faites un Select * from PetitFichier pour faire un essai et nous tenir au courant des résultats.


--Message édité par philippe le 17-01-07 à 18:18:17--
18-01-2007 à 09:18:25
Hello Philippe, j'y suis arrivé finalement, sauf que mes fichiers comportant des zones unicode, ça ne marche pas alors que ça marche très bien avec les zones ebcdic. J'ai essayé de changer le CCSID, mais niet...
Tu aurais une idée ?
18-01-2007 à 11:28:27
Rémy,

Fais un essai en copiant le fichier zones unicode dans un fichier "DDS" full EBCDIC standard. La conversion devrait se faire à la copie.

Mais comment sont définies ces zones unicode ?



--Message édité par philippe le 18-01-07 à 11:40:30--
18-01-2007 à 11:44:47
Elles sont en ccsid 13488
18-01-2007 à 11:55:00
Et le type de ces zones ? Alphanum. (A), packé (P), étendu (S), autre ?

ou qqchose comme çà ?

A 41TEXT 500G VARLEN
A CCSID(13488 80)
24-01-2007 à 15:50:26
Je suis arrivé à me recréer un login. Burgonde remplace Rémy...
Je constate que les performances ne sont pas au RDV pour créer le tableau XLS, est-ce que j'ai loupé qqc ?
Merci Philippe pour ton aide précieuse.
24-01-2007 à 16:06:45
Burgonde - Rémy,

Peux-tu nous éclairer un peu plus, je ne suis pas sûr d'avoir bien compris ce que tu veux dire.

--Message édité par philippe le 24-01-07 à 16:07:09--
24-01-2007 à 16:48:57
Simplement, j'ai bien fait tout ce qu'on m'a dit de faire pour intaller l'utilitaire. J'essaye de générer un Excel à partir d'un ch'ti fichier de 200 enregs SQL2XLS fonctionne sans pb sauf qu'il met 3 mn environ, je trouve que c'est un peu long. Mais peut-être est-ce la règle.
24-01-2007 à 17:22:25
Salut burgonde,

effectivement il se peut que les performances attendues ne soient pas au rendez-vous.
Plusieurs raisons : faire tourner du java peut demander pas mal de ressources machine pas toujours disponibles, il faut penser à recompiler (CRTJVAPGM) les archives java, cela peut améliorer les performances, la gestion de la JVM par la JNI est un mystère ;-), ...
Mais comme je ne suis pas un spécialiste, je ne m'étenderais pas.

Cependant, si je me souviens, le programme travaille "à la cellule" : ce qui signifie que pour chaque colonne de chaque ligne, il y a un traitement java (création des objets donc appel des constructeurs java à chaque fois).
Et bien que le programme java s'avère dans ce cas plus performant, cela reste relativement long lorsqu'il faut traiter des fichiers de milliers d'nergistrements avec un bon paquet de champs.

Dans ce cas, la génération de fichiers textes csv via les apis s'avère beuacoup plus performante.
Si la finalité est de ne travailler que sur du véritable fichier excel, le document peut pointer sur le fichier csv via un driver microsoft texte.
Cela marche très bien.

Wilfrid.
25-01-2007 à 07:57:31
Merci Wilfrid,
Etant donné le nombre de zones des fichiers traités, je comprends mieux, en tout cas, le gros intérêt de l'utilitaire était de prendre en compte la définition de la zone d'origine pour ne pas considérer qu'une zone ne contenant que des chiffres était forcément numérique.
J'ai fait un test par WinSql et il lui faut bien du temps aussi pour me générer mon tableau Excel à partir d'une requête simple.
25-01-2007 à 15:22:05
Rémy - Burgonde,
Effectivement, c'est assez long, mais eu égard aux nombre de colonnes qui composent la ligne de la table, ça ne m'étonne pas.
Si tu analyses un peu le programme SQL2XLSR, tu verras que le programme utilise la SQLDA (pénalisant car récupération des colonnes à partir du nom de la table) et que, effectivement, le traitement se fait colonne par colonne en faisant appel aux constructeurs Java à chaque itération, ce qui est aussi pénalisant.
Giuseppe a, depuis la parution de SQL2XLS, créé un nouvel utilitaire -- SQL2JXL -- qui utilise de nouvelles APIs Java (JExcelAPI) qui réduisent les temps de traitement et en faisant un utilitaire bien plus performant que le précédent.
Tu le trouveras ci-dessous l'utilitaire SQL2JXL.: http://www.mcpressonline.com/mc?14@49.lpeodo4GG8x.29481@.6b16ef2b
Si tu veux l'installer, prête une attention toute particulière lors de son installation sur ta machine, lis bien l'article de presse qui l'accompagne, car c'est un peu délicat à implémenter.


25-01-2007 à 15:24:18
Je vais essayer. Merci bien Philippe.
26-01-2007 à 13:16:29
Et bien voila, tout baigne, l'installation de la version java a résolu tous mes problèmes de temps de reponse et d'UNICODE, je conseille donc la mise en place de cette version, ce n'est pas si difficile que ça, même moi, j'y suis arrivé.
  • Liens sponsorisés