Page 1 sur 1
Effectuer un Load sur la base de données I5
Posté : mer. 04 juil. 2012, 17:28:00
par lohezic
Bonjour,
Nous avons un fichier que l'on execute par un load sur un serveur window et qui permet d'insérer des lignes dans un fichier DB2 I5 ( provenant du logiciel Optim).
Ce fichier nous souhaiterions l'exécuter directement sur l'iseries .
Est ce possible et si oui comment ?
Merci de vos réponses
Mme Lohezic
(sans texte)
Posté : mer. 04 juil. 2012, 18:42:40
par gmenu
Bonjour,
Je ne connais pas le logiciel Optim que vous utilisez, il en existe un certain nombre de ce nom, mais sur la plateforme IBM iSeries, il n'est pas possible d'exécuter un fichier.
L'OS de cette plateforme est basé-objets, ce qui signifie que chaque élément présent sur le serveur est un objet associé à un type et un seul.
A un type d'objet sont associées un certain nombre d'actions possibles.
Par exemple, un objet de type programme peut être créé, supprimé ou exécuté, mais son contenu ne peut pas être modifié (il faut modifier l'objet contenant le source puis le recompiler).
On peut bien sûr modifier le contenu d'un objet de type fichier, mais on ne peut pas l'exécuter puisque ce n'est pas un objet de type programme.
Désolé
Guy
(sans texte)
Posté : mer. 04 juil. 2012, 20:44:31
par lohezic
Pour information Optim est un logiciel permettant de faire des mises à jour d'une base de données vers une autre base identique ( ex d'un environnement I5 vers un autre)
Merci pour la réponse.
exécuter un load
Posté : jeu. 05 juil. 2012, 07:46:24
par cmasse
Que contient votre fichier ?
s'il contient des données, regardez CPYFRMIMPF
s'il contient des ordres SQL => RUNSQLSTM
s'il contient des commandes Unix (un schell) => STRQSH
s'il contient des commandes OS/400 => SBMDBJOB
....
Désolé pour l'intégrité de la notion d'objet héritée du S/38, mais aujourd'hui il existe plusieurs possibilités pour "exécuter" un fichier
Detail des fichiers à prendre en compte
Posté : jeu. 05 juil. 2012, 11:26:07
par lohezic
Pour information actuellement on execute sur le serveur windows un point bat qui contient
db2cmd "db2 -t -f D:\OPTIM\DATA\I1FRASIN\RFCBP001.VEPIX_F.ISQL"
le fichier VEPIX_F.ISQL contient
CONNECT TO I1FRASIN User ????????? Using ???????? ;
IMPORT FROM "D:\OPTIM\DATA\I1FRASIN\RFCBP001.VEPIX_F.005" OF IXF
MESSAGES D:\OPTIM\DATA\I1FRASIN\RFCBP0~1.DB2
INSERT INTO TESTOPT.T4PSASPF (SASCOD,SASLIB,SASABR,SASAD1,SASAD2,SASAD3,SASCPO,SASVIL);
Le fichier VEPIX_F.005 contient cela
000051HIXF0002DB2 02.0020120629051731000100125200000 001604T008T4PSASPF 007TESTOPT Rt for SrvrsCMPC I00008
Notre question est de savoir si on a équivalence de traitement en Db2I5
Merci d'avance pour votre réponse
Cordialement Mme Lohezic
exécuter un load
Posté : jeu. 05 juil. 2012, 13:04:55
par cmasse
bonjour,
non le fichier VEPIX_F.ISQL ne peut être traité, SQL/400 ne reconnait pas les commandes comme IMPORT.
par contre le fichier VEPIX_F.005 peut être traité par CPYFRMIMPF en précisant
Code : Tout sélectionner
CPYFRMIMPF FROMSTMF(VEPIX_F.005) TOFILE(TESTOPT/T4PSASPF) RCDDLM(*CRLF) DTAFMT(*FIXED)