PRB: SQL verteilter Abfragen mit Oracle verursacht "konnte nicht geöffnet Tabelle" Fehler

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.

240340
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Problembeschreibung
Versuch, eine Abfrage mit einem verknüpften Oracle-Server unter Verwendung des MSDAORA OLE DB-Anbieters, z. B. zu verwenden:
select * from OracleServer..demo.Product				
verursachen einen Fehler der folgenden ähnelt:
Server: Fehlermeldung 7306, Ebene 16, Status 2, Zeile 1
Konnte Tabelle nicht öffnen ""Demo"."Produkt"" von OLE DB-Provider 'MSDAORA'. Die angegebene Tabelle ist nicht vorhanden.
[OLE-DB-Provider meldete: die angegebene Tabelle ist nicht vorhanden]
[OLE-DB-Provider meldete: ORA-00942: Tabelle oder Sicht ist nicht vorhanden]
Ursache
Die Abfrage funktioniert möglicherweise nicht aufgrund der Groß-und Kleinschreibung in Oracle seit SQL Server Namen in Anführungszeichen, verwendet wenn er Abfragen an einen Provider ausgeliefert wird.
Abhilfe
Verwenden Sie die folgenden Regeln, wenn Tabellen in einer Oracle-Verbindungsserver verweisen:
  • Wenn die Tabellen- und Spaltennamen in Oracle ohne Bezeichner in Anführungszeichen erstellt wurden, verwenden Sie alle Großbuchstaben Namen. Beispielsweise sollte die folgenden OK arbeiten:
    select * from OracleServer..DEMO.PRODUCT						
  • Wenn die Namen der Tabelle und Spalte in Oracle mit Bezeichnern erstellt wurden, verwenden Sie dieselbe Groß-/Kleinschreibung für alle Buchstaben der Namen, als verwendet wurde, wenn die Namen in Oracle erstellt wurden.
Groß-/Kleinschreibung ist ein Problem nicht, wenn OpenQuery oder OpenRowset-Funktion verwenden. Sollte die folgenden OK funktionieren:
SELECT * FROM OPENQUERY(OracleServer, 'select * from PrOdUct')goSELECT * FROM OPENRowset('MSDAORA', 'myOracleServer';'demo';'demo', 'select * from PrOdUct' )go				
Weitere Informationen
SQL Server, Version 7.0 bietet die Möglichkeit, Abfragen für OLE DB-Provider durchzuführen. Dies erfolgt mithilfe von OpenQuery oder OpenRowset Transact-SQL-Funktionen oder in eine Abfrage mit vier Teilnamen einschließlich einen verknüpften Server-Namen. Zum Beispiel:
sp_addlinkedserver 'mylinkedserver', 'product_name', 'myoledbprovider', 'data_source','location', 'provider_string', 'catalog'SELECT * FROM OPENQUERY(mylinkedserver, 'select * from table1')				

Schritte zum Reproduzieren des Verhaltens

  1. Richten Sie einen verknüpften Server zu Oracle-Server:
    EXEC sp_addlinkedserver   'OracleServer',  'Oracle',  'MSDAORA',  'myOracleServer'goEXEC sp_addlinkedsrvlogin 'OracleServer', 'FALSE', NULL, 'demo', 'demo'go						
  2. Angeben einer vierteiligen Namensabfrage:
    SELECT * FROM OracleServer..demo.Product						
    der meldet des Fehlers, die im Abschnitt PROBLEMBESCHREIBUNG beschrieben.

Informationsquellen

Weitere Informationen auf SQL Server finden Sie unter verteilte Abfragen mit Oracle-Datenquelle, das SQL 7.0-Onlinedokumentation Thema "OLE DB Provider für Oracle" und den folgenden Artikeln der Microsoft Knowledge Base:
220915PRB: SQL Distributed Query mit Oracle erforderlich Oracle Client

221552PRB: SQL Distributed Query mit Oracle NUMERIC-Spalte verursacht Fehler

Warnung: Dieser Artikel wurde automatisch übersetzt

Eigenschaften

Artikelnummer: 240340 – Letzte Überarbeitung: 02/23/2014 16:12:36 – Revision: 4.2

  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft OLE DB Provider for Oracle Server 1.0
  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbdatabase kboracle kbprb KB240340 KbMtde
Feedback