Kurmak ve bağlantılı bir sunucu için bir SQL Server Oracle veritabanında sorun giderme yöntemleri

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 280106
Özet
Bu adım adım makalede, bir bağlantılı sunucu da Oracle için bağlantılı bir sunucu kurduğunuzda karşılaşabileceğiniz yaygın hataları için temel sorun giderme adımları sağlar ve bir Oracle veritabanı Microsoft SQL Server çalıştıran bir bilgisayardan nasıl açıklar.

Oracle için bağlantılı bir sunucu ayarlamak için adımlar

  1. SQL Server bağlantılı sunucu burada ayarlanan çalışan thecomputer Oracle istemci yazılımını yüklemeniz gerekir.
  2. Yükleme SQL Server.Microsoft çalıştıran bilgisayarda istediğiniz sürücüyü yalnızca MicrosoftOLE DB sağlayıcı Oracle ve Oracle için Microsoft ODBC sürücüsü destekler. Bir üçüncü taraf sağlayıcı veya üçüncü taraf sürücü görüntülemek için Oracle kullanıyorsanız, bunların sağlayıcıyı veya sürücü kullanarak karşılaşabileceğiniz sorunları için ilgili satıcıya başvurmalısınız.
  3. MicrosoftOLE DB sağlayıcı Oracle ve Oracle için Microsoft ODBC sürücüsü kullanıyorsanız, aşağıdakileri göz önünde bulundurun:
    • OLE DB sağlayıcısı ve Microsoft Data Access Components (MDAC) bulunan bir ODBC sürücüsü gerektirir SQL * Net 2.3.xveya sonraki bir sürümü. Oracle 7.3 yüklemeniz gerekir.x istemci yazılımı veya istemci bilgisayarda bir sonraki sürümü. İstemci bilgisayar SQL Server çalıştıran bir bilgisayardır.
    • MDAC 2.5 veya sonraki sürümleri SQL Server çalıştıran bilgisayarda yüklü olduğundan emin olun. MDAC 2.1 veya daha önceki bir sürümünü, Oracle 8 kullanan veritabanları için bağlanamıyor.x veya sonraki bir sürümü.
    • MDAC 2.5 veya sonraki sürümleri, Oracle istemci yazılımı ile çalışmak üzere etkinleştirmek için kayıt defterinde SQL Server aşağıdaki tabloda gösterildiği gibi çalıştığı istemci bilgisayarda değiştirilmelidir.
                 Microsoft Windows NT,Oracle     Microsoft Windows 95,Client     Windows 98, and Windows 98 SE    Microsoft Windows 2000 --------------------------------------------------------------------------7.x        [HKEY_LOCAL_MACHINE\SOFTWARE     [HKEY_LOCAL_MACHINE\SOFTWARE             \Microsoft\TransactionServer     Microsoft\MSDTC\MTxOCI]           \Local Computer\My Computer]     "OracleXaLib"="xa73.dll"           "OracleXaLib"="xa73.dll"         "OracleSqlLib"="SQLLib18.dll"           "OracleSqlLib"="SQLLib18.dll"    "OracleOciLib"="ociw32.dll"           "OracleOciLib"="ociw32.dll"   8.0        [HKEY_LOCAL_MACHINE\SOFTWARE     [HKEY_LOCAL_MACHINE\SOFTWARE           \Microsoft\Transaction Server    \Microsoft\MSDTC\MTxOCI]           \Local Computer\My Computer]     "OracleXaLib"="xa80.dll"           "OracleXaLib"="xa80.dll"         "OracleSqlLib"="sqllib80.dll"            "OracleSqlLib"="sqllib80.dll"    "OracleOciLib"="oci.dll"           "OracleOciLib"="oci.dll" 8.1        [HKEY_LOCAL_MACHINE\SOFTWARE     [HKEY_LOCAL_MACHINE\SOFTWARE           \Microsoft\Transaction Server    \Microsoft\MSDTC\MTxOCI]           \Local Computer\My Computer]     "OracleXaLib"="oraclient8.dll"            "OracleXaLib"="oraclient8.dll"   "OracleSqlLib"="orasql8.dll"             "OracleSqlLib"="orasql8.dll"     "OracleOciLib"="oci.dll"           "OracleOciLib"="oci.dll"
  4. TheOracle istemci yazılımını yükledikten sonra SQL Server çalışan bilgisayarı yeniden başlatın.
  5. SQL Server çalıştıran bilgisayarda, aşağıdaki komut dosyası kullanarak bir bağlantılı sunucu ayarlayın.
    -- Adding linked server (from SQL Server Books Online):/* sp_addlinkedserver [@server =] 'server'     [, [@srvproduct =] 'product_name']    [, [@provider =] 'provider_name']     [, [@datasrc =] 'data_source']     [, [@location =] 'location'] [, [@provstr =] 'provider_string']     [, [@catalog =] 'catalog']*/ EXEC sp_addlinkedserver   'Ora817Link',  'Oracle',  'MSDAORA',  'oracle817'-- Adding linked server login:/* sp_addlinkedsrvlogin [@rmtsrvname =] 'rmtsrvname'    [,[@useself =] 'useself']    [,[@locallogin =] 'locallogin']    [,[@rmtuser =] 'rmtuser']    [,[@rmtpassword =] 'rmtpassword']*/ EXEC sp_addlinkedsrvlogin 'Ora817Link', 'FALSE',NULL, 'scott', 'tiger'-- Help on the linked server:EXEC sp_linkedserversEXEC sp_helpserverselect * from sysservers
Not Oracle için Microsoft ODBC sürücüsü kullanıyorsanız, bir DSN adı belirtmek için @datasrc parametresini kullanın. Sağlayıcı dizesi DSN'siz bağlantı için @provstr parametresi sağlanır. Microsoft OLE DB Provider for Oracle, TNSNames.Ora dosyasındaki @datasrc parametresi için yapılandırılmış Oracle sunucu diğer adını kullanın. Daha fazla bilgi için SQL Server Books Online'da "sp_addlinkedserver" konusuna bakın.

Yaygın hata iletileri ve bunların ilgili sorunları giderme

Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl değiştireceğinizin anlatıldığı adımlar içermektedir. Ancak, kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Daha fazla koruma için değiştirmeden önce kayıt defterini yedekleyin. Daha sonra bir sorun çıktığında kayıt defterini geri yükleyebilirsiniz. Yedekleme ve geri yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756 Windows kayıt defterini geri yükleme ve yedekleme


Bir dağıtılmış sorguyu çalıştırdığınızda karşılaşabileceğiniz bir hata hakkında genişletilmiş bilgi almak için aşağıdaki iki yöntemden birini kullanabilirsiniz.
  • Yöntem 1
    Sorgu Çözümleyicisi'nde, izleme bayrağı 7300 açmak için şu kodu çalıştırın.
    DBCC Traceon(7300)
  • Yöntem 2
    SQL Profil Oluşturucusu'ndaki "Hata andWarnings" olay kategorisinde bulunan "OLEDB hatası" olay yakalama. Hata iletisi biçimi aşağıdaki gibidir:
    Interface::Method onaltılık hata koduyla başarısız oldu.
    Onaltılık hata kodu Oledberr.h dosyasında bu IsIncluded MDAC yazılım geliştirme seti (SDK) ile bakabilirsiniz.
Hata iletisinde sorun giderme hakkında bilgi ile birlikte oluşabilecek on yaygın hata iletileri listesi aşağıdadır.

Not SQL Server 2005 kullanıyorsanız, bu hata iletileri biraz farklı olabilir. Ancak, bu hata iletileri hata kimlikleri SQL Server 2000'de bunları aynı değildir. Bu nedenle, hata kodları tarafından olduklarını belirleyebilirsiniz.

Not Performansla ilgili sorunlar için SQL Server BooksOnline "Dağıtılmış sorguları en iyi duruma getirme" konusunu arayın.
  • İleti 1
    Hata 7399: OLE DB Sağlayıcısı ' % ls'reported bir hata. %ls
    İzleme bayrağı 7300 veya kullanım OLEDB genişletilmiş hata bilgilerini almak için "OLEDB hataları" olayý yakalamak için SQL Profiler açın.
  • İleti 2a
    "ORA-12154: TNS: verebilir değil resolveservice adı"
    İleti 2b
    "Networkingcomponents ve Oracle(tm) istemci bulunamadı. Bu bileşenler Oracle Corporationand tarafından sağlanan Oracle sürüm 7.3.3 parçası (veya ilerisi) olan istemci softwareinstallation "
    Oracle bağlantısı sorunlarını giderme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    259959 ODBC sürücüsü ve OLE DB sağlayıcı kullanarak bir Oracle sunucusuna bağlantı sorunları ayıklamada teknikleri
  • İleti 3
    Hata 7302: OLE DB Sağlayıcısı 'MSDAORA' gibi proxy'nin oluşturulamadı
    MSDAORA.dll dosyasının doğru şekilde kayıtlı olduğundan emin olun. (MSDAORA.dll dosyası Oracle için Microsoft OLE DB sağlayıcısı dosyasıdır.) RegSvr32.exe Microsoft OLE DB Provider for Oracle kaydetmek için kullanın. Kaydı başarısız olursa, Microsoft Data Access Components (MDAC) yeniden yükleyin. MDAC hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:Not Üçüncü taraf Oracle sağlayıcı kullanıyorsanız ve Oracle sağlayıcı SQL Sunucu işleminin dışında çalışamaz, işlem içi çalışmak üzere etkinleştirmek changingthe sağlayıcı seçenekleri. Sağlayıcı seçeneklerini değiştirmek için aşağıdaki yöntemlerden birini kullanın.
    • Yöntem 1
      Aşağıdaki kayıt defteri anahtarını bulun. Sonra AllowInProcess (DWORD) girdisinin değerini 1 olarak değiştirin. Bu kayıt defteri anahtarı locatedunder ilgili sağlayıcı adı şudur:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\ProviderName
    • Yöntem 2
      Yeni bir menü bağlantılı doğrudan SQL Server Enterprise Manager kullanarak İzin InProcess seçeneği ayarlama sunucu. Sağlayıcı seçenekleri' ni tıklatın ve sonra InProcess izin ver onay kutusunu seçmek için tıklatın.
  • İleti 4
    Hata 7303: TextWriterTraceListener kaynak nesnesi OLE DB Sağlayıcısı 'MSDAORA' değil olabilir. [OLE/DB sağlayıcı returnedmessage: ORA-01017: geçersiz kullanıcı adı/parola; oturum açma isteği reddedildi] OLE DB hata izleme [OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize 0x80040e4d döndürülen].
    Bu hata iletisi, bağlantılı sunucu doğru oturum açma eşleme yok gösterir. Oturum açma bilgilerini doğru şekilde ayarlamak için sp_helplinkedsrvlogin saklı yordamı çalıştırabilirsiniz. Ayrıca, doğru linkedserver yapılandırma parametrelerini belirttiğinizden emin olun.
  • 5 ileti
    Hata 7306: OLE DB Sağlayıcısı'ndan 'MSDAORA' tablo '%ls' açılamadı. Belirtilen tablo yok.[OLE/DB sağlayıcı iletisini verdi: Tablo mevcut değil.][OLE/DB providerreturned ileti: ORA-00942: Tablo veya Görünüm yok] OLE DB hata izleme [OLE/DB Provider 'MSDAORA' IOpenRowset::OpenRowset döndürülen 0x80040e37: belirlenmiş tablo yok.].
    Hata 7312:Invalid kullanımı şema ve/veya kataloğu için OLE DB Sağlayıcısı '%ls'. Dört partname verildi, ancak sağlayıcı gerekli arabirimleri kullanılabilir bir katalog ve/veya şema göstermiyor.
    Hata 7313:Invalid şema veya katalog Sağlayıcı '%ls' için belirtilen.
    7314 oluşturun err: OLE DB Sağlayıcısı '%ls' tablo '%ls' içermez
    Bu hata iletilerini almaya devam ederseniz, bir tablo Oracle şemada eksik olabilir veya bu tablo üzerinde izinleriniz olmayabilir. Büyük harf kullanılarak şema adı yazdığınızdan emin olun. Tablo ve sütunlar alfabetik durumda olması gereken Oracle sistem tabloları belirtildiği gibi.

    Bir tablo veya çift tırnak işaretleri olmadan oluşturulan bir sütun Oracle tarafında büyük harf depolanır. Tablo ya da sütunun çift tırnak işareti içine alınır, tablo veya sütun olarak saklanır.

    Şu çağrı tablo Oracle şemada olup olmadığını gösterir. Bu çağrıyı da tam tablo adını gösterir.
    sp_tables_ex  @table_server=Ora817Link, @table_schema='your_schema_name'
    7306 hata iletisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    240340 SQL dağıtılmış sorgu Oracle ile "tablosu açılamadı" hatasına neden oluyor
  • 6 ileti
    Hata 7413: aWindows NT kimliği doğrulanmış oturum açma temsilci seçme kullanılabilir olmadığından gerçekleştirilemedi.
    Msg 18456, Düzey 14, durum 1, satır 1 Loginfailed kullanıcı için ' \'.
    SQL Server Books Online'da aşağıdaki bilgiler şunlardır:
    Bu hata iletisi, bir açık oturum açma eşleme olmadan Microsoft kimlik doğrulaması Windows oturumu açma için bir dağıtık sorgu deneniyorsa gösterir. Güvenlik temsilci desteklenmeyen bir işletim sistemi ortamında, uzaktan oturum açma ve parola sp_addlinkedsrvloginkullanılarak oluşturulan açık bir eşleme oturumları gerek Windows NT kimlik doğrulaması.
  • 7 ileti
    Hata 7354: OLE DB provider'MSDAORA' sütunu '%ls' için geçersiz metadata sağlanan. Notsupported veri türüdür.
    Bu hata iletisini alırsanız, aşağıdaki Microsoft Bilgi Bankası makalesinde anlatılan hata ile karşılaşmaları:
    243027 Düzeltme: Oracle sayısal sütununda hata 7354 neden olur.
  • 8 ileti
    7356 hata: OLE DB provider'MSDAORA' tarafından sağlanan bir sütun için tutarsız meta verileri. Yürütme zaman meta veri bilgileri waschanged.
    Bağlantılı sunucu sorgusu, bir Oracle görünümü kullanıyorsa, aşağıdaki Microsoft Bilgi Bankası makalesinde anlatılan sorun yaşıyor olabilirsiniz:
    251238 Dağıtılmış sorgular MSDAORA 7356 hata döndürür
  • 9 ileti
    7391 hata: İşlem OLE DB Sağlayıcısı 'MSDAORA' distributedtransactions desteklemediği için gerçekleştirilen notbe olabilir. OLE DB hata izleme [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction döndürülen 0x8004d01b]
    TheOCI sürümleri bu makalenin önceki bölümlerinde açıklanan düzgün kaydettirilmiş olduğunu doğrulayın.

    Not Kayıt defteri girdilerinin tümü doğruysa, MtxOCI.dll IsLoaded dosya. MtxOCI.dll dosya yüklenmezse, Oracle için Microsoft OLE DB sağlayıcısı kullanarak Oracle karşı distributedtransactions yapamazsınız Oracle için Microsoft ODBC sürücüsü kullanarak orby. Bir üçüncü taraf sağlayıcı ve youreceive hata 7391 kullanıyorsanız, doğrulamak supportsdistributed hareketleri kullanarak OLE DB sağlayıcısı. OLE DB sağlayıcısı distributedtransactions desteklemiyor, Microsoft Dağıtılmış işlem Coordinator(MSDTC) çalışır durumda olduğunu doğrulayın.
  • 10 ileti
    Hata 7392: atransaction 'MSDAORA' OLE DB sağlayıcısı başlatılamadı. OLE DB hata izleme [OLE/DB Provider'MSDAORA' ITransactionLocal::StartTransaction döndürülen 0x8004d013:ISOLEVEL 4096 =].
    SQL Server Books Online'da aşağıdaki bilgiler şunlardır:
    Bu oturum için yalnızca bir işlem etkin olabilir çünkü OLE DB sağlayıcısı 7392 hata döndürdü. Bu hata, bir veri değişikliği bildirimi karşı bir OLE DB Sağlayıcısı bağlantı açık veya örtülü işlemde olduğunda ve OLE DB sağlayıcı iç içe geçmiş işlemleri desteklemiyor deneniyor olduğunu gösterir. Belirli hata koşullarındaki üzerinde işlem ile devam ederken veri değişikliği deyimi etkilerini sonlandırabilir böylece SQL Server bu desteği gerektirir.
    SET XACT_ABORT ON olarak ayarlanmışsa, SQL Server OLE DB Sağlayıcı'dan nestedtransaction destek gerektirmez. Bu nedenle, SET XACT_ABORT uzak tablolara yönelik veri değişikliği deyimleri animplicit veya açık işlem içinde çalıştırma ONbefore yürütün. Bunu hareketleri etmediğinden desteği kullanarak OLE DB sağlayıcı iç içe geçmiş durumda.
Referanslar
Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
244661 Microsoft Oracle ODBC sürücüsü ve OLE DB sağlayıcısı sınırlamaları
259959 ODBC sürücüsü ve OLE DB sağlayıcı kullanarak bir Oracle sunucusuna bağlantı sorunları ayıklamada teknikleri
239719 Oracle w.r.t Oracle için Microsoft ODBC sürücüsü/OLE DB sağlayıcısı, desteklenebilirlik 8.x
193893 Oracle ile Microsoft Hareket sunucusu ve COM + bileşenleri hakkında bilgi
191168 Nesne işlemini çağırırken listeleme başarısız oldu Hata "-2147168246 (8004d00a)"
Bir bağlantılı sunucu DB2 ile birlikte kullanma hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
218590 Microsoft OLE DB provider for DB2 için veri kaynaklarını yapılandırmak
216428 Microsoft ODBC driver for DB2 yapılandırma
dağıtılmış sorgular SQL Oracle DBCC izleme bayrakları bağlı

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 280106 - Son İnceleme: 12/23/2014 00:21:00 - Düzeltme: 8.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbsqlsetup kbhowtomaster kbmt KB280106 KbMttr
Geri bildirim