Oracle Provider for OLE DB

Oracle Provider for OLE DB (8.1.7.3.0) umożliwia kwerend rozproszonych danych w bazach danych Oracle.Obsługa Oracle Provider for OLE DB jest następująca:

32-Bitowe programu Oracle

Poza przetwarzają pozaprocesowe tylko

64-Bitowe programu Oracle

Brak

Aby utworzyć serwer połączony do dostępu wystąpienie bazy danych Oracle

  1. Make sure the Oracle client software on the server that is running Microsoft SQL Server is at the level required by the provider.Oracle Provider for OLE DB (8.1.7.3.0) wymaga klienta Oracle 8.1.7.0.

  2. Tworzenie alias nazwy na serwerze z systemem SQL Server się do wystąpienie bazy danych Oracle.Aby uzyskać więcej informacji zobacz dokumentację programu Oracle.

  3. Wykonanie sp_addlinkedserver do tworzenia serwer połączony Określanie OraOLEDB.Oracle jako provider_namei alias dla bazy danych Oracle jako data_source.

    W poniższym przykładzie założono, że alias został określony jako DQORA8:

    exec sp_addlinkedserver @server='OrclDB', 
        @srvproduct='Oracle',
        @provider='OraOLEDB.Oracle', 
        @datasrc='DQORA8'
    
    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    W tym przykładzie nie korzysta z uwierzytelniania systemu Windows.Hasła będą przesyłane niezaszyfrowane.Hasła mogą być widoczne w definicji źródło danych i skrypty, które są zapisywane na dysku, kopie zapasowe i plików dziennika.Nigdy nie używaj hasła administratora w tego rodzaju połączenia.Skontaktuj się z administratorem sieci dla określonego środowiska wskazówki dotyczące zabezpieczeń.

  4. Użyj sp_addlinkedsrvlogin do tworzenia mapowań logowania z SQL Server logowania do logowania do programu Oracle.

    Poniższy przykład mapuje SQL Server logowania Joe do serwer połączony zdefiniowanej w kroku 3 przy użyciu Oracle login i hasło OrclUsr i OrclPwd:

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

Użyj następujących reguł, w przypadku odwołania tabel w Oracle serwer połączony:

  • Jeśli tabela i kolumna nazwy utworzonych w Oracle bez identyfikatorów w cudzysłowach, należy użyć nazwy wszystkich wielkich liter.

  • Jeśli tabela i kolumna nazwy utworzonych w Oracle z identyfikatorami w cudzysłowach, tym samym przypadek użycia dla wszystkich liter nazwy, jak został użyty podczas nazwy utworzonych w Oracle.

  • Instrukcji INSERT należy podać wartości dla wszystkich kolumn w tabela, nawet jeśli niektóre kolumny w tabela może być NULL lub wartości domyślne.

  • Ten dostawca nie obsługuje bezpośredniego przekazywanie datetime literały jako argumenty w następującym formacie:

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

    Na przykład, użyj następujących z datetime literału '14-sep-94' nie jest obsługiwany:

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

    Zamiast tego utwórz datetime zmienną, przypisać mu wartość literału, a wywołanie EXEC ze zmienną jako argument:

    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
    

Ograniczenia

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.Na przykład poniższy kod zwraca błąd:

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

Aby uniknąć błędu, użyj OPENQUERY.Na przykład:

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

Wpisy rejestru

Aby włączyć OLE DB Provider for Oracle do pracy z oprogramowania klient Oracle, należy zmodyfikować rejestru klient, uruchamiając plik rejestru z wiersza polecenia.W tym samym nie należy uruchamiać wiele wystąpień oprogramowania klienckiego czas.Pliki te są wymienione w poniższej tabela i znajdują się w tej samej struktury katalogów, który zawiera instalację programu Microsoft Data Access Component (MDAC).To zazwyczaj znajduje się w katalogu C:\Program Files\Common Files\System Files\OLE DB.

klient Oracle

Windows NT lub 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