PRB: Verteilte Abfragen zurückgeben Fehler 7356 mit MSDAORA

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 251238 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Metadaten zur Ausführungszeit geändert wird, tritt der folgende Fehler auf:
Server: Msg 7356, Ebene 16, Status 1, Zeile 1
OLE DB-Provider 'MSDAORA' hat inkonsistente Metadaten für eine Spalte übergeben.
Dieser Fehler kann auftreten, wenn Sie verteilte Abfragen in SQL Server, die eine Sicht verweisen verwenden, wenn Sie die zugrunde liegende Tabelle in Oracle unter folgenden Bedingungen erstellen:
  • Geben Sie keinen NULL-Zulässigkeit in CREATE TABLE-Anweisung an. -und-

  • Sie erstellen einen Primärschlüssel mit der ALTER TABLE-Anweisung - und -

  • Sie erstellen eine Ansicht, die PRIMARY KEY enthält.

Ursache

IDBSchemaRowset:: GetRowset für DBSCHEMA_COLUMNS zurückgegeben IS_NULLABLE als TRUE.

IColumnsInfo:: GetColumnInfo für das Rowset zurückgegeben DBCOLUMNFLAGS_ISNULL als falsch.

Wegen dieser Unterschiede, verteilte Abfragen schlagen fehl mit Fehler 7356.

Der OLE DB-Provider Msdaora.dll, gibt falsche Informationen zurück, da die Metadaten, die Oracle zurückgibt falsch ist.

Lösung

Geben Sie die NULL-Zulässigkeit der Spalte explizit während der CREATE TABLE-Anweisung.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

Verwenden Sie diese Schritte, um das Verhalten zu reproduzieren:
  1. Erstellen Sie die Test-Tabelle mithilfe dieses Codes:
    CREATE TABLE MYDIST
          (GMI_ID  VARCHAR2(8)
          ,LAST_NAME VARCHAR2(20)
          ,FIRST_NAME VARCHAR2(20) )
    					
  2. Ändern die Tabelle, die mithilfe dieses Codes:
       ALTER TABLE MYDIST
          ADD (CONSTRAINT MYDIST_PK PRIMARY KEY (GMI_ID))
    					
  3. Fügen Sie Daten in die Tabelle mithilfe dieses Codes:
       INSERT INTO MYDIST VALUES ('test1','row','one')
       INSERT INTO MYDIST VALUES ('test2','row','two')
    					
  4. Mithilfe dieser Ansicht erstellen:
       CREATE VIEW V_MYDIST1 AS
          SELECT GMI_ID FROM MYDIST
    					
  5. Erstellen Sie einen Verbindungsserver-Eintrag mit der Datei "msdaora.dll und Ausführen die folgende Abfrage:
    select * from <OracleLinkedServer>..<SchemaName>.V_MYDIST1
    					
    die Abfrage gibt diesen Fehler zurück:
    Server: Msg 7356, Ebene 16, Status 1, Zeile 1
    OLE DB-Provider 'MSDAORA' hat inkonsistente Metadaten für eine Spalte übergeben. Metadateninformationen wurde zur Ausführungszeit geändert.

Eigenschaften

Artikel-ID: 251238 - Geändert am: Mittwoch, 14. Juli 2004 - Version: 3.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 7.0 Service Pack 1
Keywords: 
kbmt kbmdacnosweep kboracle kbprb KB251238 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 251238
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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