Bonjour,
Je cherche à créer des fichiers : data1.dat, data2.dat ... contenant les résultats de requêtes SQL.
Je suis arrivée à le faire pour un seul fichier pour le moment. Quand je le fais sur plusieurs itrérations, mon premier dossier contenant les requêtes s'appelle : data(.LST.
Voilà le code que j'ai utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
for i=1:nb_EVT
 
    %creation des fichiers de donnees
    ligne_selection1=v(i);
    ligne_selection2=[ tableau_final(v(i),end)];
 
    nom_fichier_commande = './Matlab_fichiercommande';
    nom_fichier_sortie =	'./data(',ligne_selection1,')';
 
    commande={
        ['      set feedback off;  '];
        ['SPOOL	',nom_fichier_sortie];
        ['SELECT DISTINCT S.LAT,S.LON';''];
        'FROM LDG.SITE S, LDG.ASSOC A';
        ['WHERE S.STA=A.STA'];
        ['AND A.ORID=',ligne_selection2,';'];
        ['SPOOL OFF'];
        ['exit;']}
 
    % -- Ecriture du fichier de commande
    fid_fichier_commande = fopen([nom_fichier_commande,'.sql'], 'w');
    for indice = 1:size(commande,1)
        fwrite(fid_fichier_commande,[cell2mat(commande(indice,:)),char(010)]);
    end
    fclose(fid_fichier_commande );
 
    % -- Ecriture et execution de la ligne de commande de requete
    user=struct('login','...','passwd','...','base','...');
    rqt=['! C:\oracle\product\10.2.0\client\BIN\sqlplusw.exe ',user.login,'/',user.passwd,'@',user.base,' @',nom_fichier_commande];
    disp(['Requete SQL ',user.login]);
    eval(rqt);
end
Pourriez-vous m'indiquer comment résoudre ce problème d'indice pour le nom de mes fichiers?
Merci