Δημιουργείτε ένα συνδεδεμένο διακομιστή σε DB2 χρησιμοποιώντας την υπηρεσία παροχής Microsoft OLE DB για DB2


Σύνοψη


Αυτό το άρθρο παρέχει ένα δείγμα δέσμης ενεργειών SQL για τη Δημιουργία συνδεδεμένου διακομιστή σε DB2 χρησιμοποιώντας sp_addlinkedserver και εκδίδει μερικά ερωτήματα για να απεικονίσει το κατανεμημένο ερωτήματος επεξεργασίας (DQP) χρησιμοποιώντας DB2OLEDB, η υπηρεσία παροχής Microsoft OLE DB για DB2. Ανατρέξτε στο ακόλουθο άρθρο στη Γνωσιακή βάση της Microsoft για πληροφορίες σχετικά με τις λέξεις-κλειδιά που χρησιμοποιούνται για την initstring DB2OLEDB.
218590 ρύθμιση παραμέτρων των αρχείων προέλευσης δεδομένων για την υπηρεσία παροχής Microsoft OLE DB για DB2

Δημιουργία συνδεδεμένου διακομιστή

EXEC sp_addlinkedserver
@server = 'WNW3XX',
@srvproduct = 'Microsoft OLE DB Provider for DB2',
@catalog = 'OLYMPIA',
@provider = 'DB2OLEDB',
@provstr='NetLib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Olympia_WNW3XX'

EXEC sp_addlinkedsrvlogin 'WNW3XX', false, NULL, 'WNW3XX', 'WNW3XX'
Ας σημειωθεί ότι:
  • Υπηρεσία παροχής DB2OLEDB πρέπει να εκτελεστεί σε Αστικός Για να ενεργοποιήσετε αυτήν τη ρύθμιση:
    1. Ξεκινήστε το Microsoft SQL Server Enterprise Manager.
    2. Στο δέντρο της κονσόλας, εντοπίστε τον κόμβο συνδεδεμένους διακομιστές (κάτω από το φάκελο ασφαλείας). Κάντε δεξιό κλικ στο συνδεδεμένο διακομιστή δημιουργήθηκε παραπάνω και στο παράθυρο διαλόγου Ιδιότητες , κάντε κλικ στην καρτέλα " Γενικά ", και στη συνέχεια κάντε κλικ στην εντολή Επιλογέςκαι κάντε κλικ για να ενεργοποιήσετε τη ρύθμιση Επιτρέπεται InProcess . Αυτός είναι ο μόνος τρόπος για να ενεργοποιήσετε αυτήν τη ρύθμιση, και αφού έχει ενεργοποιηθεί για μια συγκεκριμένη υπηρεσία παροχής, η ρύθμιση χρησιμοποιείται για κάθε επόμενο συνδεδεμένο διακομιστή δημιουργήθηκε χρησιμοποιώντας αυτήν την υπηρεσία παροχής, όπως αυτά που δημιουργούνται με τη δέσμη ενεργειών T SQL.
  • Το συνολικό μήκος της initstring συνδεδεμένο διακομιστή πρέπει να είναι πολύ 278 χαρακτήρες, ώστε να είναι χρήσιμο να χρησιμοποιήσετε τα ορίσματα DB2OLEDB σύντομα σύνδεση συμβολοσειράς που αναφέρθηκαν παραπάνω.
  • Συνδεδεμένους διακομιστές χρησιμοποιώντας DB2OLEDB επίσης μπορεί να ρυθμιστεί για να συνδεθείτε μέσω TCP/IP, παρόλο που η παραπάνω δέσμη ενεργειών απεικονίζει αυτό χρησιμοποιώντας μια σύνδεση APPC σελ.

Δείγμα κατανεμημένων ερωτημάτων

Χρησιμοποιώντας το όνομα του τμήματος 4, επιλέξτε το παράδειγμα: LinkedServer.Catalog.Schema.Table
ΕΠΙΛΈΞΤΕ * ΑΠΌ WNW3XX. OLYMPIA. WNW3XX. ΤΜΉΜΑ

Παράδειγμα διέρχονται μέσω ΕΠΙΛΈΞΤΕ χρησιμοποιώντας OPENQUERY με όνομα τμήμα 3:
ΕΠΙΛΈΞΤΕ * ΑΠΌ OPENQUERY (WNW3XX, "SELECT * ΑΠΌ OLYMPIA. WNW3XX. EMP_ACT")

Παράδειγμα διέρχονται μέσω ΕΠΙΛΈΞΤΕ χρήση του OPENROWSET με όνομα μέρος 2:
ΕΠΙΛΈΞΤΕ * ΑΠΌ OPENROWSET
('DB2OLEDB', Netlib = σελ; NetAddr =; Θύρας =; RemoteLU = OLYMPIA; LocalLU = ΤΟΠΙΚΌ; ModeName = QPCSUPP; ID χρήστη = WNW3XX; Κωδικός πρόσβασης = WNW3XX, InitCat = OLYMPIA-προεπιλεγμένη διάταξη = WNW3XX; PkgCol = WNW3XX; TPName =; Ολοκλήρωση = Ναι, IsoLvl = NC; AccMode =; CCSID = 37- PCCodePage = 1252; BinAsChar = ΌΧΙ-προέλευσης δεδομένων = δείγμα»,
"ΕΠΙΛΈΞΤΕ * ΑΠΌ WNW3XX. ΕΡΓΑΖΌΜΕΝΟΣ»)

Παράδειγμα μια εισαγωγή χρησιμοποιώντας το όνομα του τμήματος 4:
ΕΙΣΑΓΩΓΉ ΣΤΟ WNW3XX. OLYMPIA. WNW3XX. ΤΜΉΜΑ ΤΙΜΏΝ
(«E21», «ΟΜΟΊΩΜΑ», NULL, 'E01»)

Σημειώστε ότι η ενημερωμένη ΈΚΔΟΣΗ και να ΔΙΑΓΡΆΨΕΤΕ χρησιμοποιώντας DQP δεν είναι δυνατές με την υπηρεσία παροχής που συνοδεύουν σελ έκδοση 4.0 Service Pack 2 και Service Pack 3, λόγω της έλλειψης υποστήριξης σελιδοδείκτη, αλλά αυτά λειτουργούν με την υπηρεσία παροχής του ΣΕΛ 4.0 Service Pack 4 και η υπηρεσία παροχής που αποστέλλονται με DB2OLEDB h φιλοξενία Integration Server. Για περισσότερες πληροφορίες σχετικά με αυτό, ανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:

287093 DB2OLEDB υποστηρίζει ΕΝΗΜΈΡΩΣΗΣ/ΔΙΑΓΡΑΦΉΣ από συνδεδεμένο διακομιστή SQL
Παράδειγμα ΣΥΝΔΈΣΜΟΥ μεταξύ ενός πίνακα SQLServer και DB2:
ΕΠΙΛΈΞΤΕ A.EMPLOYEE_NUMBER,B.ACTNO ΑΠΌ CORPDATA... EMPLOYEE_ACCOUNT, WNW3XX. OLYMPIA. WNW3XX. EMP_ACT B ΌΠΟΥ A.EMPLOYEE_NUMBER = B.EMPNO ΣΕΙΡΆ ΑΠΌ A.EMPLOYEE_NUMBER