requête SQL et fichier plat

Le
rénald
Hello,

j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la façon
suivante : dir /s > c:dir.txt)

j'aimerair effectuer des extractions sur ce dernier en effectuant des
requêtes SQL. comme vous le constateraient, les champs sont délimités par des
"space".

Est-ce possible via SQL ?

Salutations

rénald
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #19006471
"rénald" news:
| Hello,

Hi !

| j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la
| façon suivante : dir /s > c:dir.txt)
|
| j'aimerair effectuer des extractions sur ce dernier en effectuant des
| requêtes SQL. comme vous le constateraient, les champs sont délimités
| par des "space".
|
| Est-ce possible via SQL ?

Oui il est possible de réaliser des requêtes SQL sur le système de
fichiers dans le but d'obtenir des statistiques mais pour cela je vous
invite à jeter un oeil sur le fabuleux outil Microsoft LogParser :
http://www.microsoft.com/downloads/details.aspx?FamilyID‰0cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Par exemple :

Afficher les cinq plus gros fichiers du dossier D:Test (récursif) :
"select top 5 path,size from d:test*.* order by size desc" -i:fs

La syntaxe n'est pas évidente mais la puissance est garantie ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
rénald
Le #19007341
Hello,

C'est vrai c'est puissant.

Mais auriez-vous un exemple de fichier plat et de requête SQL pour
l'extraction ?

Salutations

Rénald

"Gilles LAURENT [MVP]" wrote:

"rénald" news:
| Hello,

Hi !

| j'ai un fichiers texte qui s'appelle dir.txt (je l'ai généré de la
| façon suivante : dir /s > c:dir.txt)
|
| j'aimerair effectuer des extractions sur ce dernier en effectuant des
| requêtes SQL. comme vous le constateraient, les champs sont délimités
| par des "space".
|
| Est-ce possible via SQL ?

Oui il est possible de réaliser des requêtes SQL sur le système de
fichiers dans le but d'obtenir des statistiques mais pour cela je vous
invite à jeter un oeil sur le fabuleux outil Microsoft LogParser :
http://www.microsoft.com/downloads/details.aspx?FamilyID‰0cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

Par exemple :

Afficher les cinq plus gros fichiers du dossier D:Test (récursif) :
"select top 5 path,size from d:test*.* order by size desc" -i:fs

La syntaxe n'est pas évidente mais la puissance est garantie ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Gilles LAURENT [MVP]
Le #19007511
"rénald" news:
| Hello,

Hi !

| C'est vrai c'est puissant.
|
| Mais auriez-vous un exemple de fichier plat et de requête SQL pour
| l'extraction ?

Vous pouvez utiliser le pilote ODBC "Microsoft Text Driver". En revanche
la source de données (ici le fichier plat) doit être structurée, ce qui
n'est pas le cas du résultat de la commande "dir /s". Que souhaitez-vous
faire précisément ? Pouvez-vous nous transmettre un exemple de source de
données à analyser ?

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
rénald
Le #19007651
Hello,

Le but final est de rechercher les fichiers doublons.

Vous parlez de "structurer les données", pouvez-vous me dire comment puis-je
structurer ce fichier ? en ajoutant des noms à chaque colonne ?

merci

"Gilles LAURENT [MVP]" wrote:

"rénald" news:
| Hello,

Hi !

| C'est vrai c'est puissant.
|
| Mais auriez-vous un exemple de fichier plat et de requête SQL pour
| l'extraction ?

Vous pouvez utiliser le pilote ODBC "Microsoft Text Driver". En revanche
la source de données (ici le fichier plat) doit être structurée, ce qui
n'est pas le cas du résultat de la commande "dir /s". Que souhaitez-vous
faire précisément ? Pouvez-vous nous transmettre un exemple de source de
données à analyser ?

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Gilles LAURENT [MVP]
Le #19008451
"rénald" news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Lognoul Marc [MVP]
Le #19013811
LogParser, c'est le meilleur outil de MS :)

Pour repérer les doublons, j'utilise également la fonction HASHMD5_FILE afin
de ne pas uniquement me baser sur le nom du fichier.

--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]



"Gilles LAURENT [MVP]" news:
"rénald" news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr



__________ Information from ESET NOD32 Antivirus, version of virus
signature database 3973 (20090329) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com






__________ Information from ESET NOD32 Antivirus, version of virus signature database 3973 (20090329) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
rénald
Le #19016631
Hello,

Absolument magique cette requête SQL, je suis en train de l'analyser sur le
site www.w3schools.com

en fait j'aurais besoin uniquement de (pour la première ligne)

SELECT Name, COUNT(*) AS Number
...

"Gilles LAURENT [MVP]" wrote:

"rénald" news:
| Hello,

Hi !

| Le but final est de rechercher les fichiers doublons.

D'ou l'importance de l'expression du besoin ;-)

Ci-dessous un exemple avec l'outil Microsoft LogParser :

Usage: LogParser file:Resquest.sql -i:fs -rtp:-1

--- Request.sql ---
SELECT Name, SUM(Size), COUNT(*) AS Number
FROM D:Test*.*
WHERE Name Not In ('.' ; '..')
GROUP BY Name
HAVING Number > 1
ORDER BY Number DESC
--- Request.sql ---

Cet exemple affichera trois colonnes :
- le nom des fichiers doublons
- l'espace disque consommé (exprimé en octets)
- le nombre d'occurence

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Publicité
Poster une réponse
Anonyme