PRB: Κατανεμημένων ερωτήματα επιστρέφεται σφάλμα 7356 με MSDAORA

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 251238 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Εάν αλλάξουν οι πληροφορίες μετα-δεδομένα κατά το χρόνο εκτέλεσης, παρουσιάζεται το ακόλουθο μήνυμα λάθους:
Διακομιστής: Μήνυμα λάθους 7356, επίπεδο 16, 1, κατάσταση, γραμμή 1
Υπηρεσία παροχής OLE DB 'MSDAORA' παρείχε ασυνεπή μετα-δεδομένα για μια στήλη.
Αυτό το σφάλμα ενδέχεται να παρουσιαστεί κατά τη χρήση διανεμημένων ερωτήματα στον SQL Server που αναφέρονται σε μια προβολή εάν δημιουργήσετε τον υποκείμενο πίνακα σε Oracle υπό τις ακόλουθες συνθήκες:
  • Μην καθορίσετε Nullability στην πρόταση CREATE TABLE. -και-

  • Μπορείτε να δημιουργήσετε ένα πρωτεύον κλειδί με την πρόταση ALTER TABLE - και -

  • Μπορείτε να δημιουργήσετε μια προβολή που περιλαμβάνει το PRIMARY KEY.

Αιτία

IDBSchemaRowset::GetRowsetΓια DBSCHEMA_COLUMNS επιστρέφει IS_NULLABLE ως TRUE.

IColumnsInfo::GetColumnInfoστο σύνολο γραμμών επιστρέφει DBCOLUMNFLAGS_ISNULL ως FALSE (ψευδές).

Εξαιτίας της αυτές τις ασυμφωνίες, κατανεμημένες ερωτήματα αποτυχία με το σφάλμα 7356.

Η υπηρεσία παροχής OLE DB, Msdaora.dll, επιστρέφει λανθασμένες πληροφορίες, επειδή τα μετα-δεδομένα που επιστρέφει η Oracle δεν είναι σωστή.

Προτεινόμενη αντιμετώπιση

Καθορίστε ρητά τον Nullability της στήλης κατά την πρόταση CREATE TABLE.

Κατάσταση

Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.

Περισσότερες πληροφορίες

Βήματα για την αναπαραγωγή της συμπεριφοράς

Χρησιμοποιήστε αυτά τα βήματα για την αναπαραγωγή της συμπεριφοράς:
  1. Δημιουργία του πίνακα ελέγχου χρησιμοποιώντας αυτόν τον κωδικό:
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Τροποποιήστε τον πίνακα χρησιμοποιώντας αυτόν τον κώδικα:
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Εισαγωγή δεδομένων στον πίνακα χρησιμοποιώντας αυτόν τον κώδικα:
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. Δημιουργία μιας προβολής με αυτό:
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. Δημιουργία καταχώρησης συνδεδεμένο διακομιστή χρησιμοποιώντας το αρχείο msdaora.dll και εκτελέστε το ακόλουθο ερώτημα:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    Το ερώτημα επιστρέφει αυτό το σφάλμα:
    Διακομιστής: Μήνυμα λάθους 7356, επίπεδο 16, 1, κατάσταση, γραμμή 1
    Υπηρεσία παροχής OLE DB 'MSDAORA' παρείχε ασυνεπή μετα-δεδομένα για μια στήλη. Πληροφορίες μετα-δεδομένων έχει αλλάξει κατά το χρόνο εκτέλεσης.

Ιδιότητες

Αναγν. άρθρου: 251238 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 7.0 Standard Edition
Λέξεις-κλειδιά: 
kbmdacnosweep kboracle kbprb kbmt KB251238 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:251238

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com