Oracle OLE DB sağlayıcı
Ilgili OLE DB (8.1.7.3.0) Oracle sağlayıcı dağıtılmış sorgular, Oracle veritabanlarındaki verileri sağlar.OLE DB sağlayıcı Oracle desteği aşağıdaki gibidir:
Oracle 32-bit |
Çıkış-ın-işlem yalnızca |
Oracle 64-bit |
None |
Oluşturulacak bir bağlantılı sunucu Oracle veritabanı örneğine erişmek için
Make sure the Oracle client software on the server that is running Microsoft SQL Server is at the level required by the provider.Ilgili OLE DB (8.1.7.3.0) Oracle sağlayıcı, Oracle istemci 8.1.7.0 gerektirir.
Çalıştıran sunucu için bir diğer ad oluşturma SQL Server bir Oracle veritabanı örneğine işaret eder. Daha fazla bilgi için Oracle belgelerine bakın.
yürütmek sp_addlinkedserver belirterek bağlantılı sunucu oluşturmak içinOraOLEDB.Oracle as provider_nameve varsayılan bir Oracle veritabanı diğer ad ad adı data_source.
Aşağıdaki örnek diğer ad olarak tanımlanmış varsayar. DQORA8:
exec sp_addlinkedserver @server='OrclDB', @srvproduct='Oracle', @provider='OraOLEDB.Oracle', @datasrc='DQORA8'
Security Note: Bu örnek, Windows kimlik doğrulaması kullanmaz.Parolaları şifresiz aktarılması.Parolaları veri kaynağı tanımları ve kaydedilen komut dosyalarını görünür diske yedekleme ve günlük dosyaları.Hiçbir zaman bu tür bir bağlantı, bir yönetici parolası'nı kullanın.Ortamınıza güvenlik kılavuzu için ağ yöneticinize başvurun.
Kullanımı sp_addlinkedsrvlogin oturum açma eşlemeler oluşturmak içinSQL Server Oracle oturumlar için oturum açma.
Aşağıdaki örnek eşleştiren SQL Server oturum açma Joe için bağlantılı sunucu 3. adımda Oracle oturum açma ve parola kullanarak tanımlanmış. OrclUsr ve OrclPwd:
sp_addlinkedsrvlogin @rmtsrvname = 'OrclDB', @useself = 'false', @locallogin = 'Joe', @rmtuser = 'OrclUsr', @rmtpassword = 'OrclPwd'
Bir Oracle Sunucusu Bağlantılı tablolarda başvuruda bulunacağınız zaman, aşağıdaki kuralları 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.
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.
Tablonun belirli sütunlarında NULL olabilir veya varsayılan değerleri INSERT deyimleri, tablodaki tüm sütunların değerlerini sağlamanız.
Bu sağlayıcı doğrudan geçişini desteklemiyor datetime hazır olarak aşağıdaki biçimde bağımsız değişkenleri:
EXEC 'string' '<datetime-literal>' AT <oraclelinkedserver>
Örneğin, aşağıdaki kullanımı datetime hazır bilgi '14-sep-94' desteklenmez:
EXEC('INSERT INTO DYNORCL.SALES(ID, ORD_NO, ORD_DATE, QTY) VALUES (?, ?, ?, ?)', '6380', '6871', '14-sep-94', 5) AT OrclDB
Bunun yerine, oluşturma bir datetime değişken, hazır bilgi değeri ve çağrı atama EXEC bağımsız değişken olarak değişken ile:
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 kullanın. OPENQUERY. Örneğin:
SELECT *
FROM OPENQUERY(ORA,
'SELECT CAST (AVG(QTY) AS numeric)
FROM ORA..RPUBS.SALES')
yeniden yazar
Oracle istemci yazılımı ile çalışmak Oracle için OLE DB sağlayıcı'nı etkinleştirmek için , istemci kayıt defterini bir komut satırından bir kayıt defteri dosyasını çalıştırarak değiştirilmelidir.Istemci yazılımını birden çok örneği aynı anda çalıştırmamalısınız.Bu dosyalar, aşağıdaki tabloda listelenen ve Microsoft Data Access Component (MDAC) yükleme içeren aynı dizin yapısı içinde bulunur.Bu, genellikle C:\Program Files\Common Files\System Files\OLE DB 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 |
See Also