Share via


ole db için Oracle sağlayıcısı

Dağıtılmış sorgular ole db (8.1.7.3.0) için Oracle sağlayıcısı Oracle veritabanlarındaki verileri sağlar.ole db için Oracle sağlayıcısı desteği aşağıdaki gibidir:

32-Bit Oracle

Out-in-proc yalnızca

64-Bit Oracle

Hiçbiri

Bir Oracle veritabanı örnek erişmek için bağlantılı sunucu oluşturmak için

  1. Make sure the Oracle client software on the server that is running Microsoft SQL Server is at the level required by the provider.ole db (8.1.7.3.0) için Oracle sağlayıcısı Oracle istemcisi 8.1.7.0 gerektirir.

  2. Sunucuda çalışmakta olan bir diğer ad oluşturmak SQL Server o noktalara bir Oracle veritabanı örnek.Daha fazla bilgi için Oracle belgelerine bakın.

  3. Yürütme sp_addlinkedserver bağlantılı sunucu oluşturmak için belirtme OraOLEDB.Oracle olarak provider_nameve Oracle veritabanı diğer ad ad adı data_source.

    Aşağıdaki örnek, diğer ad olarak tanımlanan varsayar DQORA8:

    exec sp_addlinkedserver @server='OrclDB', 
        @srvproduct='Oracle',
        @provider='OraOLEDB.Oracle', 
        @datasrc='DQORA8'
    
    Güvenlik notuGüvenlik Notu

    Bu örnek, Windows kimlik doğrulaması kullanın.Parolaları şifresiz olarak aktarılacaktır.Parolaları olabileceği gibi veri kaynak tanımları ve kaydedilen komut dosyalarında görünen diske yedekleme ve günlük dosyaları.Hiçbir zaman bu tür bir bağlantı içinde yönetici parolası kullanmayın.Ortamınıza güvenlik kılavuzu için ağ yöneticinize başvurun.

  4. Use KullanımıEXEC sp_addlinkedsrvlogin gelen oturum açma eşlemeleri oluşturmak için SQL Server oturumları için Oracle oturumu açma.

    Aşağıdaki örnek eşler SQL Server login Joe Oracle oturumu ve parolayı kullanarak 3 adımda tanımlanan bağlantılı sunucu için OrclUsr ve OrclPwd:

    sp_addlinkedsrvlogin @rmtsrvname = 'OrclDB', 
       @useself = 'false', 
       @locallogin = 'Joe', 
       @rmtuser = 'OrclUsr', 
       @rmtpassword = 'OrclPwd'
    

Bir Oracle bağlantılı sunucu tablolarda başvuru yaptığınızda aşağıdaki kuralları kullanın:

  • Tablo ve sütun adlarını teklif edilen tanımlayıcıları Oracle içinde oluşturulan tüm büyük adları kullanın.

  • Tablo ve sütun adlarını ile teklif edilen tanımlayıcıları Oracle içinde oluşturulan aynı durum adları tüm harfler için adlarını Oracle içinde oluşturulan çağrılırken gibi kullanın.

  • INSERT deyimleri tüm sütunlar için değerleri girmeniz bir tablobile, belirli sütunlarında tablo null değerini veya varsayılan değerleri içerir.

  • Bu sağlayıcı doğrudan geçişini desteklemez datetime aşağıdaki biçimde bağımsız olarak hazır:

    EXEC 'string' '<datetime-literal>' AT <oraclelinkedserver>
    

    Örneğin, aşağıdaki kullanımını datetime hazır '14-sep-94' desteklenmiyor:

    EXEC('INSERT INTO DYNORCL.SALES(ID, ORD_NO, ORD_DATE, QTY) 
       VALUES (?, ?, ?, ?)', '6380', '6871', '14-sep-94', 5) AT OrclDB
    

    Oluşturmak yerine, bir datetime değişkeni, hazır bilgi değeri ve çağrı ata EXEC ile bağımsız değişken olarak değişken:

    DECLARE @v1 datetime
    SET @v1 = CONVERT(datetime,'14-sep-94')
    EXEC('INSERT INTO DYNORCL.SALES(ID, ORD_NO, ORD_DATE, QTY) 
       VALUES (?, ?, ?, ?)', '6380', '6871', @v1, 5) AT OrclDB
    

Kısıtlamalar

SQL Server does not support the use of the AVG aggregate function against Oracle tables because the Oracle provider returns the OLE DB type DBTYPE_VARNUMERIC.SQL Server does not support DBTYPE_VARNUMERIC.Örneğin, aşağıdaki kod bir hata döndürür:

SELECT AVG(QTY)
FROM ORA..RPUBS.SALES

Hatayı önlemek için OPENQUERY.Örneğin:

SELECT *
FROM OPENQUERY(ORA,
   'SELECT CAST (AVG(QTY) AS numeric)
   FROM ORA..RPUBS.SALES')

Kayıt defteri girdileri

Oracle istemci yazılımı ile çalışmak Oracle için ole db Sağlayıcısı'nı etkinleştirmek için istemci kayıt defterinde kayıt defteri dosyasını komut satırından çalıştırarak değiştirilmesi gerekir.istemci yazılımı birden çok kopyasını aynı anda çalıştırmamalısınız? saat.Aşağıda, bu dosyalar listelenen tablo ve Microsoft Data Access Component (mdac) yüklemesi içeren aynı dizin yapısı içinde bulunur.Bu genellikle C:\Program Files\Common Files\System Files\OLE db içinde bulunur.

Oracle istemci

Windows NT veya 9 x

Windows 2000

7.x

mtxoci7x_winnt.reg

mtxoci7x_win2k.reg

8.0

mtxoci80_winnt.reg

mtxoci80_win2k.reg

8.1

mtxoci81_winnt.reg

mtxoci81_win2k.reg