SORUN:, Tablo Oracle nedenleri ile SQL Distributed Query "açılamadı" hatası

Makale çevirileri Makale çevirileri
Makale numarası: 240340 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

MSDAORA OLE DB sağlayıcısı, örnek olarak kullanarak bir Oracle bağlı sunucuya bir sorgu kullanılmaya çalışılırken:
select * from OracleServer..demo.Product
				
aşağıdakine benzer bir hata neden olabilir:
Sunucu: <a1>hata</a1> 7306, Düzey 16, State 2, 1 satır
Tablo açılamadı ' "gösteri". "Ürün"' den OLE DB Sağlayıcısı 'MSDAORA'. Belirtilen tablo yok.
[OLE/DB sağlayıcı iletisini verdi: Belirtilen tablo yok]
[OLE/DB sağlayıcı iletisini verdi: ORA-00942: Tablo veya Görünüm yok]

Neden

SQL Server için bir sağlayıcı sorgularını birlikte gelen teklif edilen adlarını kullanır çünkü sorgu, Oracle büyük/küçük harf duyarlılığı nedeniyle çalışmayabilir.

Pratik Çözüm

Aşağıdaki kurallar, bir Oracle Sunucusu Bağlantılı tablolarda başvururken kullanın:
  • Tablo ve sütun adlarını, teklif edilen tanımlayıcıları Oracle'nın içinde oluşturulan tüm büyük adlarını kullanın. Örneğin, aşağıdaki Tamam çalışmalıdır:
    select * from OracleServer..DEMO.PRODUCT
    						
  • Tablo ve sütun adlarını, Oracle'nın teklif edilen tanıtıcılar ile oluşturulan aynı büyük/küçük harfle adları için adları, Oracle'nın içinde oluşturulan çağrılırken gibi kullanın.
Büyük/küçük harf duyarlılığı SorguAç veya OpenRowset işlevini kullandığınızda geçerli değildir. Aşağıdaki Tamam çalışmalıdır:
SELECT * FROM OPENQUERY(OracleServer, 'select * from PrOdUct')
go
SELECT * FROM OPENRowset('MSDAORA', 'myOracleServer';'demo';'demo', 'select * from PrOdUct' )
go
				

Daha fazla bilgi

Microsoft SQL Server sürüm 7.0, OLE DB sağlayıcıları sorgular gerçekleştirme olanağı sağlar. SorguAç veya OpenRowset Transact-SQL işlevleri veya sorguda bir bağlı sunucu adı da dahil olmak üzere dört bölüm adları kullanarak gerçekleştirilir. Örneğin:
sp_addlinkedserver 'mylinkedserver', 'product_name', 'myoledbprovider', 'data_source','location', 'provider_string', 'catalog'
SELECT * FROM OPENQUERY(mylinkedserver, 'select * from table1')
				

Davranışı Yeniden Oluşturma Adımları

  1. Oracle sunucusuna bağlı bir sunucu oluşturun:
    EXEC sp_addlinkedserver   'OracleServer',  'Oracle',  'MSDAORA',  'myOracleServer'
    go
    EXEC sp_addlinkedsrvlogin 'OracleServer', 'FALSE', NULL, 'demo', 'demo'
    go
    						
  2. Dört bölümü ad sorgusu belirtin:
    SELECT * FROM OracleServer..demo.Product
    						
    hangi BELIRTILER bölümünde açıklanan hata bildiriyor.

Başvurular

SQL Server hakkında ek bilgi için Oracle veri kaynağıyla dağıtılmış sorgular SQL 7.0 Books Online'da "OLE DB sağlayıcısı için Oracle" konu ve aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:
220915SORUN: Oracle ile SQL Distributed Query Oracle istemcisi gerekiyor.

221552SORUN: SQL Query Oracle NUMERIC sütun verir hatası ile dağıtılmış

Özellikler

Makale numarası: 240340 - Last Review: 23 Şubat 2014 Pazar - Gözden geçirme: 4.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 7.0
  • Microsoft OLE DB Provider for Oracle 2.0
  • Microsoft OLE DB Provider for Oracle 2.1
  • Microsoft OLE DB Provider for Oracle 2.5
  • Microsoft OLE DB Provider for Oracle 2.6
  • Microsoft OLE DB Provider for Oracle 2.7
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbdatabase kboracle kbprb KB240340 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:240340

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