Commandes FTP
charavoile8-Mar-2007/18:19:34+1:00
Bonjour,

Je suis nouveau sur REBOL.
Je l'ai essayé et abandonné plusieurs fois (Sans doute à cause de tout ce qui manque) et je reviens toujours dessus (Sans doute grâce à tout ce qu'il y a).

Bref mon coeur balance.

Le cas qui me préoccupe :
Je cherche à recupérer une table sur un AS400 via FTP.
Sur cette machine IBM le codage est en EBCDIC.
Avec tout autre client FTP, en passant en mode ASCII, le serveur s'occupe correctement de la conversion EBCDIC/ASCII.
Mais le protocole FTP de REBOL me force en mode BINAIRE, et donc je récupère ... de l'EBCDIC, très mal vu par Windows.

Plus généralement
Je voudrais savoir comment faire pour envoyer une commande spécifique avec le protocole FTP (Autre que les manipulations classiques de fichiers et de répertoires)

Merci d'avance
guest28-Mar-2007/23:38:57+1:00
Je suis pas le seul à bosser sur AS400 apparement.

petit 1:
j'imagine que tu essaies d'importer un pf-src
bon le plus simple c'est de convertir ton fichier en ascii en amont, avant de l'importer via ftp. Ca se fait sans trop de mal avec CPYTOPCD et en utilisant le paramêtre table de conversion = QASCII.

petit 2:
Je crois que à la base le protocole ftp de rebol n'est pas asynchrone, donc il doit pas savoir balancer des commandes exotiques non prévues par RT.
J'ai regardé sur rebol.org et effectivement, on dirait que personne n'a développé de ftp asynchrone, vraiment dommage ça. A faire donc, en repartant du protocole tcp.
Franck9-Mar-2007/8:39:10+1:00
Ben on est au moins 3

Sur l'ancien forum, il y a une discussion sur le ftp et l'as400.

http://www.codeur.org/forum/message.php?ID_Sujet=1695

Je ne sais pas si c'est toujours d'actualité.
Goldevil9-Mar-2007/8:49:02+1:00
Si je peux me permettre, réaliser en rebol une conversion ASCII/EBCDIC ne doit pas si compliqué que cela.

Voici un exemple "quick & dirty" qui traduit seuleemnt certaines lettres.

ebcdic-tostring: func [
	ebcdic_data [binary!]
	/local
		destination	byte
] [
	destination: ""
	foreach byte ebcdic_data [
		switch/default byte [
			64 [ append destination " "]
			68 [ append destination "D"]
			69 [ append destination "E"]
			72 [ append destination "H"]
			76 [ append destination "L"]
			79 [ append destination "O"]
			82 [ append destination "R"]
			87 [ append destination "W"]
		] [
			append destination #"?"
		]
	]
	return destination
]
print ebcdic-tostring #{48454C4C4F40574F524C44}

input


Cela peut être grandement optimisé mais cela sera alors didactique.

Si je me rappelle bien, il y a plusieurs versions de EBCDIC plus ou moins incompatibles. Il faut éventuellement faire attention à la table de conversion.
charavoile9-Mar-2007/9:31:50+1:00
Moi qui croyais que j'allais me faire renvoyer à mes écrans verts ! Je vois que l'AS400 n'est pas complètement enterré. Je travaille sur cette bécanne depuis plusieurs années et je pense que REBOL peut être un excellent moyen de développer autour de cette machine.
Actuellement je suis sur un projet EAI, avec un produit écrit en JAVA, avec plein de bonnes idées mais un peu lourdingue. D'où mon idée de développer un EAI et pourquoi pas en REBOL. Et donc je commence par le bon vieux FTP ...

Sur l'état du protocole actuel, bon je comprend que le protocole n'ést pas asynchrone. Je ne suis pas encore assez trapu pour redévelopper un protocole.

La première solution (guest2) d'envoyer le PF-DTA ou le PF-SRC vers l'IFS de l'AS400 est correcte. J'arrive bien à récupérer les fichiers à cette endroit avec une bonne conversion.

La seconde (goldevil) est pas mal non plus. Ce qui me donne un exemple de fonction de conversion plutot propre.
mais c'est une solution cliente.

Hum ...

Je vais aller visiter le lien sur l'ancien forum. Si je peux bénéficier votre expérience cela m'aidera beaucoup à faire mon choix de langage pour mon outil d'EAI.
charavoile9-Mar-2007/9:36:39+1:00
A mon avis l'erreur de FTP sur codeur date d'avant la réécriture du protocole FTP par DOCKIMBEL (Si j'ai bien tout suivi l'historique)

En tout cas cela ne m'arrive plus avec la dernière version de REBOL.
coccinelle9-Mar-2007/11:40:58+1:00
Et si je me souviens bien, il y a même eu d'anciennes versions de Rebol qui tournaient sur AS/400.

Faudrait voir peut-être avec Carl ce qu'il en est aujourd'hui.
guest29-Mar-2007/14:25:12+1:00
Ah ça je savais pas, y'a eu une version de Rebol pour AS400 ???
j'aimerais bien voir ça.
Surtout que java sur AS400, ça marche, je dis pas le contraire mais je suis de l'avis de charavoile, c'est vraiment lourdingue.
charavoile9-Mar-2007/14:42:31+1:00
J'avais cherché si il existait une version de REBOL pour l'AS400, mais j'ai bien l'impression que les travaux ont été abandonnés.

Cependant il me semble que sur les nouveaux AS400 (iSeries) il existe désormais le système PASE (c'est à dire le shell unix sur AS400) qui permet d'éxécuter n'importe quel applicatif qui tourne sur un AIX. (A un chouya près ... dixit IBM)

Si il existe un interpréteur REBOL pour AIX il y a donc de grandes chances pour que la version REBOL AIX tourne dans cet environnement.

A tester bien sûr ...
cr88259-Mar-2007/17:20:28+1:00
salut,

+ 1 sur AS400

moi je me connecte par l'odbc pour récupérer des données
la conversion se fait toute seule !!!

pour les sources je passe par un fichier PF-DTA temporaire


	db: open [
		scheme: 'odbc
   		target: "Driver={iSeries Access ODBC Driver};System=xx;Uid=xx;Pwd=xx;"
  ]
	stm: first db
charavoile9-Mar-2007/21:26:44+1:00
Interressant !
C'est d'ailleurs SQL, après FTP, qui est aussi au centre de mes préocupations.

Mais il faut une version payante de REBOL pour utiliser ODBC (Sauf erreur de ma part)

Je vais ouvrir un nouveau thread sur l'AS400.
Je suis interressé par tous les moyens de communication possibles avec cette plateforme.

Et je crois que REBOL avec sa légéreté et son interface graphique embarquée peut être un sacré plus sur une machine ou l'IHM est nativement du texte 24 lignes 80 colonnes, caractères en vert avec un joli fond noir.

En effet les alternatives sont souvent soit très lourdes, soit très chères pour n' avoir ne serait ce qu'un bouton et une liste déroulante.

Si je peux me permettre de clore ce thread
Goldevil10-Mar-2007/0:49:49+1:00
Une dernière chose qui peut t'intéresser. Olivier Auverlot a développé un client rebol pour ODBC Socket Server (http://odbcsock.sourceforge.net/).
Ce dernier s'installe sur une machine windows et permet d'accéder aux databases via un protocole XML public et simple.

Je l'ai testé et il fonctionne correctement même si c'est moins performant qu'un accès natif à ODBC.

Si tu as des difficultés à trouver le code source, je te le ferai parvenir.
charavoile10-Mar-2007/15:10:10+1:00
Merci Goldevil et aux autres ...

Je vais tester les solutions que vous me proposez.

J'avais acheté le premier livre d'Olivier. Je l'avais aussi contacté par mail depuis Nouméa (Nouvelle Calédonie) ou j'habitais il y a quelque temps et sa réponse avais été rapide. Je vais peut être me laisser tenter par son nouveau livre ...

Je ne m'attendais pas à trouver autant de reponses sur ce forum aussi rapidement surtout pour quelqu'un de nouveau et sur une plate forme qui n'est pas grand public.

Donc un grand merci à tous.

Je reviendrai surement sur un nouveau thread consacré à l'AS400 ou à l'EAI

Après tout REBOL n'est il pas un "messaging language" ?

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2