Oracle Provider for OLE DB
Dostawca bazy danych Oracle for OLE DB (8.1.7.3.0) umożliwia kwerendami rozproszonymi w odniesieniu do danych w bazach danych Oracle.Obsługę bazy danych Oracle dostawca OLE DB jest następująca:
32-Bitowe programu Oracle |
Limit czasu-o proc tylko |
64-Bitowe programu Oracle |
None |
Aby utworzyć serwer połączony, aby uzyskać dostęp do wystąpienie bazy danych Oracle
Make sure the Oracle client software on the server that is running Microsoft SQL Server is at the level required by the provider.Dostawca bazy danych Oracle for OLE DB (8.1.7.3.0) wymaga klient Oracle 8.1.7.0.
Tworzenie alias nazwy na serwerze, na którym jest uruchomiony SQL Server który wskazuje na wystąpienie bazy danych Oracle. Aby uzyskać więcej informacji zobacz w dokumentacji programu Oracle.
wykonać sp_addlinkedserver do tworzenia serwer połączony, określając OraOLEDB.Oracle as provider_name, a alias dla bazy danych Oracle jako data_source.
W poniższym przykładzie założono, że alias został zdefiniowany jako DQORA8:
exec sp_addlinkedserver @server='OrclDB', @srvproduct='Oracle', @provider='OraOLEDB.Oracle', @datasrc='DQORA8'
Security Note: W tym przykładzie nie korzysta z uwierzytelnianie systemu Windows.Hasła będą przesyłane bez szyfrowania.Hasła mogą być widoczne w definicji urządzenie źródłowe danych i skrypty, które są zapisywane na dysku, w kopii zapasowych i w plikach dziennika.Nigdy nie używaj hasła administratora w tego rodzaju połączenia.Skontaktuj się z administratorem sieci dla wskazówki dotyczące zabezpieczeń, specyficzne dla danego środowiska.
Użycie sp_addlinkedsrvlogin utworzyć mapowania identyfikatora logowania z SQL Server logowania do identyfikatorów logowania bazy danych Oracle.
W następującym przykładzie polecenie mapuje SQL Server Identyfikator logowania Joe do serwer połączony zdefiniowanej w kroku 3 przy użyciu identyfikatora logowania bazy danych Oracle i hasła OrclUsr i OrclPwd:
sp_addlinkedsrvlogin @rmtsrvname = 'OrclDB', @useself = 'false', @locallogin = 'Joe', @rmtuser = 'OrclUsr', @rmtpassword = 'OrclPwd'
Odwołanie do tabel połączonych serwer Oracle używać następujące zasady:
Jeśli w tabeli i kolumna nazwy zostały utworzone w Oracle bez identyfikatorów w cudzysłowach, należy użyć nazwy wszystkich wielkich liter.
Nazwy tabel i kolumn zostały utworzone w Oracle z identyfikatorami w cudzysłowach, użyć tej samej sprawie dla wszystkich liter nazwy jak został użyty podczas nazwy zostały utworzone w bazy danych 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życie następujących datetime literał '14-sep-94' nie jest obsługiwane:
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 Zmienna, przypisać mu wartość literału, a wywołanie EXEC ze zmienną jako argumentu:
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 w poniższym kodzie zwróci błąd:
SELECT AVG(QTY)
FROM ORA..RPUBS.SALES
Aby uniknąć błędu, należy użyć OPENQUERY. Na przykład:
SELECT *
FROM OPENQUERY(ORA,
'SELECT CAST (AVG(QTY) AS numeric)
FROM ORA..RPUBS.SALES')
Wpisy rejestru
Aby włączyć dostawca OLE DB dla Oracle do pracy z oprogramowania klienckiego Oracle, należy zmodyfikować rejestru klient, uruchamiając plik rejestru z wiersza polecenia.Wiele instancji oprogramowania klienckiego nie powinno się uruchamiać w tym samym czasie.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).Ta zazwyczaj znajduje się w folderze C:\Program Files\Common Files\System Files\OLE w DB.
Klient Oracle |
System 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 |
See Also