PRB: Dotaz SQL Distributed s způsobuje Oracle "nelze otevřít tabulku" Chyba

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:240340
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Příznaky
Při pokusu o použití dotazu s propojený server Oracle například pomocí zprostředkovatele OLE DB MSDAORA:
select * from OracleServer..demo.Product				
může dojít k chybě podobné následujícím:
Server: Zpráva 7306, úroveň 16, 2, stav řádku 1
Nelze otevřít tabulku ' "Ukázka". "Produkt"' od 'MSDAORA zprostředkovatele OLE DB. Zadaná tabulka neexistuje.
[Zprostředkovatel OLE/DB vrátil zprávu: Zadaná tabulka neexistuje]
[Zprostředkovatel OLE/DB vrátil zprávu: ORA-00942: tabulku nebo zobrazení neexistuje]
Příčina
Dotaz nemusí fungovat kvůli rozlišování malých a velkých písmen v Oracle, protože SQL Server používá uvozovkách názvy při dodává dotazy na zprostředkovatele.
Jak potíže obejít
Při odkazování na tabulek propojený server Oracle, použijte následující pravidla:
  • Pokud názvy tabulky a sloupce byly vytvořeny v Oracle bez identifikátory v uvozovkách, použijte názvy všech velkých písmen. Například následující by měly fungovat OK:
    select * from OracleServer..DEMO.PRODUCT						
  • Pokud názvy tabulky a sloupce byly vytvořeny v Oracle s identifikátory v uvozovkách, použijte stejný případ pro všechny písmena názvy jako byla použita při názvy byly vytvořeny v Oracle.
Case-Sensitivity není problém, při použití funkce OtevřítDotaz nebo OpenRowset. Následující by měly fungovat OK:
SELECT * FROM OPENQUERY(OracleServer, 'select * from PrOdUct')goSELECT * FROM OPENRowset('MSDAORA', 'myOracleServer';'demo';'demo', 'select * from PrOdUct' )go				
Další informace
Microsoft SQL Server verze 7.0 poskytuje možnost provádět dotazy vůči zprostředkovatele OLE DB. To lze provést pomocí funkce OpenRowset Transact-SQL nebo OtevřítDotaz nebo pomocí dotazu s čtyři části názvy včetně názvu serveru propojen. Například:
sp_addlinkedserver 'mylinkedserver', 'product_name', 'myoledbprovider', 'data_source','location', 'provider_string', 'catalog'SELECT * FROM OPENQUERY(mylinkedserver, 'select * from table1')				

Kroky pro reprodukci tohoto chování

  1. Nastavit propojeného serveru Oracle Server:
    EXEC sp_addlinkedserver   'OracleServer',  'Oracle',  'MSDAORA',  'myOracleServer'goEXEC sp_addlinkedsrvlogin 'OracleServer', 'FALSE', NULL, 'demo', 'demo'go						
  2. Zadat název dotazu čtyř částí:
    SELECT * FROM OracleServer..demo.Product						
    jaký hlásí chyby popsané v části Příznaky.

Odkazy

Další informace na serveru SQL naleznete distribuovaných dotazy s zdroj dat Oracle SQL 7.0 Books Online téma "OLE DB Provider pro Oracle" a v následujících článcích znalostní báze Microsoft Knowledge Base:
220915PRB: Dotaz SQL Distributed s Oracle vyžaduje klienta Oracle

221552PRB: SQL Distributed dotaz s chybou uvádí NUMERIC sloupec Oracle

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 240340 - Poslední kontrola: 02/28/2014 16:58:36 - Revize: 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 KbMtcs
Váš názor