Pb syntaxe avec SQL*Loader
Fermé
stefy
-
31 oct. 2008 à 08:58
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 31 oct. 2008 à 12:12
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 31 oct. 2008 à 12:12
A voir également:
- Pb syntaxe avec SQL*Loader
- Windows loader - Télécharger - Gestion de fichiers
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Sql replace plusieurs valeurs - Forum Programmation
- Requête sql pix - Forum Python
1 réponse
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
31 oct. 2008 à 12:12
31 oct. 2008 à 12:12
Salut,
à part creer un nouveau fichier de control avec un exe (pour l'exemple appelé exemple.exe):
puis dans ton batch faire:
pour windows:
ton_lecteur:
cd ton_chemin
exemple.exe %1
del /Q fichier.ctl
rename fichier1.ctl fichier.ctl
sqlldr user/pawd@DB fichier.ctl ./tmp/fichier.log
et lancer ton batch avec la commande
mon_batch nom_du_fichier_de_donnee.TXT
sinon pour linux:
cd /ton_chemin
./exemple $1
rm fichier.ctl
mv fichier1.ctl fichier.ctl
sqlldr user/pawd@DB fichier.ctl ./tmp/fichier.log
et lancer ton batch avec la commande
./mon_batch nom_du_fichier_de_donnee.TXT
j'espere ca pourra t'aider!!
@+
à part creer un nouveau fichier de control avec un exe (pour l'exemple appelé exemple.exe):
#include <stdio.h> #include <string.h> int main(int argc,char*arg[]) {FILE*pf; FILE*pf1; int i=0; char mot[255]; char rempl[255]; char*infile="INFILE "; pf=fopen("ton_lecteur\\ton_chemin\\\fichier.ctl","r"); pf1=fopen("ton_lecteur\\ton_chemin\\fichier1.ctl","w"); while (!feof(pf)) {fgets(mot,255,pf); if(i==0) {if(strncmp(mot,infile,strlen(infile))==0) { strcpy(rempl,infile); strcat(rempl,arg[1]); fwrite(rempl,1,strlen(rempl)*sizeof(char),pf1); fwrite("\n",1,sizeof(char),pf1); i++; } else fwrite(mot,1,strlen(mot)*sizeof(char),pf1); } fclose(pf); fclose(pf1); return 1; }
puis dans ton batch faire:
pour windows:
ton_lecteur:
cd ton_chemin
exemple.exe %1
del /Q fichier.ctl
rename fichier1.ctl fichier.ctl
sqlldr user/pawd@DB fichier.ctl ./tmp/fichier.log
et lancer ton batch avec la commande
mon_batch nom_du_fichier_de_donnee.TXT
sinon pour linux:
cd /ton_chemin
./exemple $1
rm fichier.ctl
mv fichier1.ctl fichier.ctl
sqlldr user/pawd@DB fichier.ctl ./tmp/fichier.log
et lancer ton batch avec la commande
./mon_batch nom_du_fichier_de_donnee.TXT
j'espere ca pourra t'aider!!
@+