Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [RESOLU] Insertion d'un fichier dans une table oracle

#1 07-05-2008 18:35:34

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

[RESOLU] Insertion d'un fichier dans une table oracle

Salut à tous, 


Je viens pour demander comment insérer le contenue d'un fichier dans un seul champs de ma table oracle.

Le problème que j'ai rencontré c'est qu'il insère seulement le premier ligne mais les restes non. 
A noter : le texte de mon fichier est un message de type string que je voulais l'insérer dans le champs de type Long.

merci d'avance   

Dernière modification par mattdamon (08-05-2008 11:16:16)

Hors ligne

 

#2 07-05-2008 18:49:33

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Bonjour,

Peux-tu nous fournir la syntaxe que tu utilises pour alimenter ton fichier ?


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 

#3 07-05-2008 20:31:05

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Insertion d'un fichier dans une table oracle

En fait, j'ai utilisé les propriétés de fichier (fileopen, file read et file close), et la chaine des caractères que j'ai la récupéré lors de lire de fichier, j'ai l'inséré dans un champs de ma table.

Hors ligne

 

#4 07-05-2008 21:20:14

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] Insertion d'un fichier dans une table oracle

tu peux mettre ton code ?
Pourquoi ne pas utiliser une DW comme ici ?


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#5 08-05-2008 08:51:16

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Bonjour à tous,

Je doit mettre le contenue de mon fichier dans ma table oracle, c'est pas l'inverse !!!
La totalité de message doit être insérer dans un seul champs de la table, Ça ce que je voulais faire.

@+

Hors ligne

 

#6 08-05-2008 09:07:33

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 30-05-2006
Messages: 4685
Pépites: 1,025
Banque: 2,147,483,647
Site web

Re: [RESOLU] Insertion d'un fichier dans une table oracle

oui, donc tu peux passer via un importfile et un update() de la datawindow.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#7 08-05-2008 09:19:27

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Voici un bout de code de ce que je voulais faire :

Code: pb

integer li_FileNum
String  ls_Emp_Input

li_FileNum = FileOpen("C:\DEPT\EMPLOYEE.txt", StreamMode!, Write!, LockWrite!, Replace!)

FileRead(li_FileNum, ls_Emp_Input)
FileClose(li_FileNum)

INSERT INTO Ma_table (champs1)  VALUES (:ls_Emp_Input) ;
commit;

Le fichier que je veut l'insérer a une taille > à 7000 lignes
Le problème que j'ai rencontré c'est qu'il insère dans champs1 seulement la première ligne de fichier !!!
parce que en fait, mon fichier s'écrit sur plusieurs lignes !!!

Est ce qu'il faut écrire un code pour transformer tout le texte de mon fichier seulement sur une seule ligne ou bien il y a eu une astuce ou quoi ?

Que ce que je doit faire ?

A+

Dernière modification par mattdamon (08-05-2008 11:13:09)

Hors ligne

 

#8 08-05-2008 10:25:44

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Petite question : l'aide en ligne est-elle fournie avec ta version de PB ?
Le cas échéant : + File functions (FileReadEx...)

NB : comment utiliser la balise code=pb, merci de reformater ton message


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#9 08-05-2008 11:15:49

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Salut,

La solution que j'ai choisi est de concaténer le texte puis l'insérer dans le champs.

merci

Hors ligne

 

#10 08-05-2008 11:23:10

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2493
Pépites: 106
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Bonjour,

Juste un petit conseil:
La grande spécificité de PB, c'est la datawindow.
Tu as toujours intérêt à l'utiliser pour tes besoins car c'est vraiment un outil extrêmement puissant.
Dans le cas présent, la solution préconisée par Pick est la plus simple à mettre en oeuvre:
Pas de code SQL de mise à jour à créer (génération automatique), importation très facile des données,
portabilité sur une BDD simplifiée, etc...

Donc, prends bien le temps d'étudier l'aide PB sur tout ce qui concerne la datawindow:
Ca ne peut que t'être profitable.

Bonne journée


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#11 09-05-2008 10:12:44

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Insertion d'un fichier dans une table oracle

On reprend tout depuis le début.
1) Si tu as un gros fichier à importer dans ta base Oracle, la meilleure solution n'est pas d'utiliser PB mais les outils Oracle.
Pour une raison simple : en déposant le fichier sur le serveur et en l'important directement, tu t'affranchi des problématiques réseaux
SQL Loader

2) Fileread est limité à 32k, soit 32000 caractères.
Utilise FileReadEx qui n'est pas limité

Enfin quel est le type de ta colonne sous Oracle ?
Ta solution ne peut fonctionner qu'avec Varcher, mais là on a une limite à 2000 ou 4000 caractères

Si c'est un BLOB, tu dois utiliser Updateblob


never let people work on more than one thing at once.

Hors ligne

 

#12 09-05-2008 19:47:59

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Insertion d'un fichier dans une table oracle

Salut,

shahin a écrit:

Enfin quel est le type de ta colonne sous Oracle ?

La colonne de ma table est de type Long.

shahin a écrit:

Ta solution ne peut fonctionner qu'avec Varcher, mais là on a une limite à 2000 ou 4000 caractères

justement, Au début j'ai déclaré mon champs varchar2 mais le problème c'est que ce type ne supporte que maximum 4000 caractères, alors pour cela que j'ai changé au type long qui peut atteindre 4Go de taille.

En fin de compte, je vais choisir la solution qui consiste à faire le traitement au niveau de serveur oracle et non pas au niveau de PowerBuilder.

Dernière modification par mattdamon (09-05-2008 19:49:41)

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] Insertion d'un fichier dans une table oracle

Pied de page des forums

Propulsé par FluxBB 1.2.22