Για την παροχή πρόσβασης σε πηγές δεδομένων OLE DB με τη χρήση
λειτουργιών πίνακα OLE DB:
- Εγκαταστήστε και ρυθμίστε το OLE DB 2.0 ή μεταγενέστερη έκδοση,
καθώς και έναν παροχέα OLE DB για πηγή δεδομένων. Ακολουθήστε τις
συστάσεις των προϋποθέσεων λογισμικού του παροχέα OLE DB.
- Χρησιμοποιήστε την πρόταση CREATE WRAPPER για να ορίσετε τη βιβλιοθήκη της
λειτουργίας συσκευασίας (wrapper) που θα χρησιμοποιείται για την πρόσβαση σε
παροχείς OLE DB.
Οι λειτουργίες συσκευασίας (wrappers) είναι οι μηχανισμοί που χρησιμοποιούν
οι εξυπηρετητές ενωμένης βάσης δεδομένων για επικοινωνία με και ανάκτηση
δεδομένων από πηγές δεδομένων. Το ακόλουθο παράδειγμα παρουσιάζει μια
πρόταση CREATE WRAPPER:
CREATE WRAPPER OLEDB
όπου OLEDB είναι το προεπιλεγμένο όνομα της λειτουργίας
συσκευασίας (wrapper module) που χρησιμοποιείται με παροχείς OLE DB.
Μπορείτε να αντικαταστήσετε το προεπιλεγμένο όνομα με ένα όνομα της επιλογής
σας. Ωστόσο, αν το κάνετε αυτό, πρέπει επίσης να συμπεριλάβετε την
παράμετρο LIBRARY και το όνομα της βιβλιοθήκης της λειτουργίας συσκευασίας
(wrapper library) για την πλατφόρμα του εξυπηρετητή ενωμένης βάσης
δεδομένων. Ανατρέξτε στο εγχειρίδιο SQL Reference, Volume 2 για περισσότερες πληροφορίες σχετικά με τα ονόματα βιβλιοθηκών
λειτουργιών συσκευασίας (wrapper libraries).
- Χρησιμοποιήστε την πρόταση CREATE SERVER για να ορίσετε ένα όνομα
εξυπηρετητή για μια πηγή δεδομένων OLE DB. Για παράδειγμα:
CREATE SERVER Nwind
WRAPPER OLEDB
OPTIONS (
CONNECTSTRING 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=c:\msdasdk\bin\oledb\nwind.mdb',
COLLATING_SEQUENCE 'Y');
όπου:
- Nwind είναι ένα όνομα που αποδίδετε σε μια πηγή δεδομένων OLE
DB.
- OLEDB είναι το όνομα της λειτουργίας συσκευασίας
(wrapper).
- OPTIONS είναι η λίστα προαιρετικών παραμέτρων. Σε αυτό
το παράδειγμα:
- CONNECTSTRING παρέχει τις ιδιότητες προετοιμασίας
(initialization properties) που απαιτούνται για τη σύνδεση σε μια πηγή
δεδομένων. Η συμβολοσειρά αποτελείται από ζεύγη λέξεων-κλειδιών και
τιμών που χωρίζονται με ερωτηματικά (;). Το σύμβολο = χωρίζει κάθε
λέξη-κλειδί από την αντίστοιχη τιμή της. Οι λέξεις-κλειδιά είναι
περιγραφές των ιδιοτήτων προετοιμασίας OLE DB (σύνολο ιδιοτήτων
DBPROPSET_DBINIT) ή λέξεις-κλειδιά του συγκεκριμένου παροχέα OLE DB.
Για λεπτομερείς πληροφορίες σχετικά με τη σύνταξη και τη σημασία των
λέξεων-κλειδιών της επιλογής CONNECTSTRING, ανατρέξτε στο εγχειρίδιο
Microsoft OLE DB 2.0 Programmer's Reference and
Data Access SDK, Microsoft Press, 1998.
- COLLATING_SEQUENCE ορίζει αν η πηγή δεδομένων χρησιμοποιεί την
ίδια διατακτική ακολουθία με τη DB2 Universal Database. Έγκυρες τιμές
είναι Y (χρησιμοποιείται η ίδια διατακτική ακολουθία) και N (χρησιμοποιείται
μια διαφορετική διατακτική ακολουθία). Αν δεν οριστεί η επιλογή
COLLATING_SEQUENCE, θεωρείται ότι η πηγή δεδομένων χρησιμοποιεί μια
διαφορετική διατακτική ακολουθία από τη DB2 Universal Database.
- Αν μια ταυτότητα χρήστη ή ένας κωδικός πρόσβασης στον εξυπηρετητή ενωμένης
βάσης δεδομένων διαφέρει από μια ταυτότητα χρήστη ή έναν κωδικό πρόσβασης σε
μια πηγή δεδομένων OLE DB, χρησιμοποιήστε την πρόταση CREATE USER MAPPING για
να αντιστοιχίσετε την τοπική ταυτότητα χρήστη στην ταυτότητα χρήστη και τον
κωδικό πρόσβασης που ορίζονται στην πηγή δεδομένων OLE DB. Για
παράδειγμα:
CREATE USER MAPPING FOR john
SERVER Nwind
OPTIONS (REMOTE_AUTHID 'dave', REMOTE_PASSWORD 'mypwd');
όπου:
- john είναι η τοπική ταυτότητα χρήστη που αντιστοιχίζετε σε μια
ταυτότητα χρήστη που έχει οριστεί σε μια πηγή δεδομένων OLE DB.
- Nwind είναι το όνομα της πηγής δεδομένων OLE DB που ορίσατε
στην πρόταση CREATE SERVER.
- dave είναι η ταυτότητα χρήστη στην πηγή δεδομένων OLE DB στην
οποία αντιστοιχίζετε την ταυτότητα χρήστη john. Στην τιμή
αυτή διακρίνονται οι πεζοί και οι κεφαλαίοι χαρακτήρες.
- mypwd είναι ο κωδικός πρόσβασης που αντιστοιχεί στην ταυτότητα
χρήστη dave. Στην τιμή αυτή διακρίνονται οι πεζοί και οι
κεφαλαίοι χαρακτήρες.
- Μπορείτε να χρησιμοποιήσετε το όνομα εξυπηρετητή Nwind για να
προσδιορίσετε τον παροχέα OLE DB μέσω της πρότασης CREATE FUNCTION:
CREATE FUNCTION orders ()
RETURNS TABLE (orderid INTEGER, ...)
LANGUAGE OLEDB
EXTERNAL NAME 'Nwind!orders';