Αγγλικά - Ηνωμένων Πολιτειών   Απλά Κινεζικά   Γαλλικά   Γερμανικά   Ελληνικά   Ισπανικά   Ολλανδικά   Πορτογαλικά Ιβηρικής  

Home







Θέμα: ΠΕΡΙ: Δημιουργία μιας ρέπλικας που "απαγορεύει διαγραφές" στο Jet 4.0
(Απεσταλμένο στις 5/7/99)
Ένα πολύ χρήσιμο χαρακτηριστικό προστέθηκε στην αναπαραγωγή του Jet 4.0… η ικανότητα να δημιουργήσετε ρέπλικες (ακόμα και μια μερική ρέπλικα) όπου μπορούν να προστεθούν ή να μεταβληθούν δεδομένα, αλλά δεν μπορούν να διαγραφούν.  Δυστυχώς, δεν προστέθηκε στο JRO (Jet and Replication Objects - Αντικείμενα Jet και Αναπαραγωγής), δεν εκτίθεται μέσω του Replication Manager (Διαχειριστή Αναπαραγωγής), και καμία αλλαγή δεν έγινε στην παρούσα έκδοση του DAO για ρέπλικες.

Για αυτό και ο μόνος τρόπος για να δημιουργήσετε αυτά τα χρήσιμα τερατάκια είναι:

1) Χρησιμοποιήστε την ίδια την Access (που δεν παρέχει προγραμματιστική μέθοδο)
2) Χρησιμοποιήστε τον τελευταίο TSI Synchronizer (Συγχρονιστής της TSI)
3) Χρησιμοποιήστε ένα κρυμμένο τρόπο για να το κάνετε μέσω της μεθόδου MakeReplica του DAO!

Τι είναι αυτός ο κρυμμένος τρόπος;  Λοιπόν, η τρίτη (προαιρετική) παράμετρος "Options" έχει δύο επίσημες επιλογές για αυτή τη μάσκα δυαδικών ψηφίων:

Const dbRepMakePartial = 1
Const dbRepMakeReadOnly = 2
αλλά δοκιμές και λάθη έδειξαν ότι μπορείτε να τις χρησιμοποιήσετε και συνδυαστικά, ή αντί για τα ανωτέρω (απλά ορίστε το κάπου):

Const dbRepMakePreventDeletes = 4

Απλώς καλέστε:

db.MakeReplica "c:\foo.mdb", "", _ dbRepMakePreventDeletes Or dbRepMakePartial

και θα δημιουργήσετε μία μερική ρέπλικα όπου δεν μπορούν να γίνουν διαγραφές!

Απλά για να συμπληρώσουμε τις χρήσιμες σταθερές, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις ακόλουθες (μη συνδυαζόμενες) για να χειριστείτε την ορατότητα μιας ρέπλικας.  Σημειώστε ότι το JRO εκθέτει ένα τρόπο για να γίνει αυτό, επίσης, αλλά προτιμώ να έχω με ένα σμπάρο δυο τρυγόνια:

Const dbRepGlobalReplica = &H1000
Const dbRepLocalReplica = &H2000
Const dbRepAnonymousReplica = &H4000

(Καθολικές ρέπλικες δημιουργούνται εξ ορισμού αν δεν δοθεί καμία παράμετρος, είναι γνωστές σε όλες τις άλλες ρέπλικες της ομάδας.  Τοπικές ρέπλικες είναι μόνο γνωστές στη ρέπλικα που τις δημιούργησε.  Ανώνυμες ρέπλικες δεν είναι γνωστές σε κανένα, και μπορούν να συγχρονιστούν μόνο με την μητρική τους --χρήσιμο για ρέπλικες σε δικτυακούς τόπους που δε θέλουν να παρακολουθούν κάθε μια ρέπλικα που έχει δοθεί σε έναν πελάτη, για παράδειγμα).

Ο τελευταίος TSI Synchronizer (συγχρονιστής της TSI) εκθέτει όλα αυτά τα νέα χαρακτηριστικά του Jet 4.0 στο synch40.dll, επιπλέον.  Αλλά αν δε χρησιμοποιήτε ήδη τον TSI Synchronizer, η λύση μέσω DAO είναι ένας εύκολος, γρήγορος τρόπος να επεκτείνετε τη διαδικασία δημιουργίας ρέπλικας.

Πίσω στα Άρθρα Usenet


Προβλήματα με αυτό τον τόπο; Παρακαλώ επικοινωνήστε (στα αγγλικά!) με τον webmaster@trigeminal.com
με τα σχόλια, ερωτήσεις ή υποδείξεις σας.