cluster57190
Messages postés2Date d'inscriptionmercredi 12 mai 2010StatutMembreDernière intervention13 juin 2010
-
8 juin 2010 à 17:49
houtas
Messages postés116Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention29 août 2013
-
9 juin 2010 à 12:13
Bonjour a tous,
Petite présentation de mon problème, j'ai un fichier texte de 275Mo qui contient 140000 étiquettes sans aucun séparateur.
J'ai donc décidé d'isoler chaque étiquettes dans un fichier txt pour cela j'ai fais le petit script (voir plus bas ), il lit le fichier texte ligne par ligne regarde les 9 premiers caractères de la ligne , lorsque les 9 premiers caractères changent il crée un fichiers texte qui a pour nom les 9 caractères + txt et en contenu toute les lignes ayant eu les 9 premiers caractères identique.
Ma question est la suivante, je me retrouve avec mes 140000 étiquettes et j'aimerais les inserer dans une table sql, qui comportera 2 colonnes la première le nom du fichiers txt et la seconde le contenue intégral du fichier txt.
Etant un novice total dans le monde dans des database et de sql server, si quelqu'un aurait une idée ou une solution je suis prenneur.
Merci
Const InputPath = "C:\monfichier.txt"
Dim fso
Dim buffer
Dim oldkey
Dim newkey
Dim outstream
Set fso = CreateObject("Scripting.FileSystemObject")
Dim stream
Set stream = fso.OpenTextFile(InputPath, 1)
Set outstream = Nothing
oldkey = ""
While Not stream.AtEndOfStream
buffer = stream.ReadLine()
newkey = Left(buffer, 9)
If newkey <> oldkey Then
If Not outstream Is Nothing Then
outstream.Close
set outstream = Nothing
End If
Set outstream = fso.CreateTextFile("C:\temp\mon_rep_temp" & newkey & ".txt", True)
outstream.WriteLine (buffer)
oldkey = newkey
Else
outstream.WriteLine (buffer)
End If
Wend
If Not outstream Is Nothing Then
outstream.Close
End If
stream.Close
houtas
Messages postés116Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention29 août 2013 8 juin 2010 à 18:11
Il faut créer ta table dans SQL server et puis importer ton fichier txt, une petite recherche sur google et tu aura pleins d'exemples que tu pourra adapter à ton fichier
cluster57190
Messages postés2Date d'inscriptionmercredi 12 mai 2010StatutMembreDernière intervention13 juin 2010 8 juin 2010 à 19:03
Merci pour l'aide mais je ne cherche pas a importer mon fichier texte de 275Mo car il ne comporte aucun élément séparateur qui me permettrais de bien isoler chaque étiquette, voila pourquoi je les decouper en 140000 fichiers texte.
Ma table Sql existe déjà avec mes colonnes mais je me vois mal importer 140000 fichiers manuellement.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 8 juin 2010 à 21:52
Salut cluster57190,
Ton idée de script est assez astucieuse, ce pendant tu l'as mal exploité. A partir du moment ou tu as trouvé un repère dans ton fichier source, tu devrais recrére un ficher au format csv tout simple, avec un spatareur point-virgule ce qui te permetterai en suite de pouvoir l'exploiter comme une source de données et pour finir obtenir le résultat que tu désir dans une table SQL Serveur.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
houtas
Messages postés116Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention29 août 2013 9 juin 2010 à 12:13
Salut si tu a access utilise le pour importer tout dans une seule table,
tu met tes fichiers dans un dossier, avec fso tu récupère le nom du fichier que tu insére chaque fois dans une table avec un boucle sur ta commande d'import, une fois terminé tu export un fichier source et tu l'importe dans sql server