Δημιουργία λίστας αρχείων από τον δίσκο

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
sarafis
Δημοσιεύσεις: 20
Εγγραφή: 08 Μάιος 2008 15:50

Δημιουργία λίστας αρχείων από τον δίσκο

Δημοσίευση από sarafis » 20 Δεκ 2009 14:12

Με σκοπό να συγκρίνω εγγραφές που βρίσκονται σε έναν πίνακα της βάσης δεδομένων μου με τα αρχεία που βρίσκονται σε συγκεκριμένο φάκελο στον δίσκο ώστε να διαπιστώσω αν ταυτίζονται (μια διαδικασία που θα γίνεται καθημερινά καθώς θα υπάρχουν σημαντικές μεταβολές) αναζήτησα και βρήκα σε μια ξένη σελίδα τον κώδικα που βρίσκεται στην συνημμένη βάση, ο οποίος εισάγει στην μια στήλη του πίνακα το όνομα του αρχείου και την κατάληξη και σε άλλη το path. Επειδή στην βάση καταχωρείται μόνο το όνομα ή μάλλον ο αριθμός που έχει για όνομα το αρχείο ήθελα να αφαιρέσω την κατάληξη του αρχείου και έτσι δημιούργησα ένα SQL ερώτημα που κάνει αυτή την εργασία. Αυτά ως εισαγωγή.
Τα ερωτηματά μου προς τα μέλη της κοινότητας είναι: α) αν υπάρχει η δυνατότητα να τροποποιηθεί ο κώδικας ώστε να εισάγεται απευθείας το όνομα του αρχείου χωρίς την κατάληξη ώστε να αποφύγουμε το 2ο βήμα β) Αν υπάρχει δυνατότητα να εισάγονται οι ημερομηνίες δημιουργίας και τροποποίησης των αρχείων.
Τέλος για να αποφύγω την διπλή εισαγωγή των αρχείων έβαλα περιορισμό για διπλότυπα στο πεδίο FNAME, αυτή την στιγμή με περί τα 300 αρχεία στον φάκελο η εισαγωγή είναι άμεση. Όμως η πρόβλεψη είναι ότι στον φάκελο θα βρίσκονται περί τα 500,000 αρχεία σε βάθος ενός έτους. Πιθανολογώ πως αυτό θα δημιουργήσει σοβαρή καθυστέρηση. Από μια δοκιμή σε ένα δίσκο με 300,000 αρχεία, σε διαφορετικούς όμως υποκαταλόγους, ενώ έκανε 6 λεπτά για να εισάγει τα ονόματα των αρχείων έκανε 7 λεπτά για να προσθέσει ένα νέο αρχείο. Αν σκέφτεται κανείς κάποια λύση, ευπρόσδεκτη.
Συνημμένα
insert filenames1.zip
(27.6 KiB) Μεταφορτώθηκε 234 φορές

Άβαταρ μέλους
Hermeia
Honorary Member
Δημοσιεύσεις: 987
Εγγραφή: 02 Αύγ 2004 00:14
Τοποθεσία: Αθήνα
Επικοινωνία:

Δημιουργία λίστας αρχείων από τον δίσκο

Δημοσίευση από Hermeia » 23 Δεκ 2009 08:21

.. απο όσα λες, περιέχει πάνω απο 300χιλ. εγγραφές, και κάθε φορά που εισάγεται μια νέα εγγραφή (ονομα αρχείου), πάει και το συγκρίνει πρώτα μην είναι ίδιο με κανένα άλλο απο τα υπάρχοντα.. δηλαδή κάνει πάνω απο 300χιλ. ελέγχους..
Σκέψου να το έκανες αυτό στο χέρι, πόσες μέρες θα σου έτρωγε ?
Αλλα αν το έκανες στο χέρι, θα επινοούσες κάποιο αλγόριθμο ελέγχου διπλοεγγραφών που να σε βοηθάει να γίνεται πιο γρήγορα η δουλειά..

Για τα παραπάνω στοιχεία κάθε αρχείου, σίγουρα γίνεται, αλλα εξαρτάται από το πόσο σε βοηθάει το λειτουργικό που το κάνει, πχ. σε ένα λειτουργικό που έχει έτοιμες μεταβλητές για τις ημ/νιες του αρχείου δεν θα χρειαστεί να τις φτιάξεις εσύ..

καλη επιτυχία
Hermeia the InfoSharer
Η Γνώση είναι Δύναμη
Εικόνα

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες