Ortak dil çalışma zamanı özellikleri, SQL Server 2008'de veya SQL Server 2008 R2 kullanan önceki bir SQL Server yüklemesinin bir uygulama, bir komut dosyası veya bir işlevi çalıştırdığınızda bir hata iletisi alıyorsunuz: "BIR .NET Framework hata oluştu"

Makale çevirileri Makale çevirileri
Makale numarası: 955629 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Ortak dil çalışma zamanı (CLR) özelliklerini kullanan önceki bir Microsoft SQL Server yükleme bir uygulama, bir komut dosyası veya bir işlevi çalıştırdığınızda, Microsoft SQL Server 2008'e veya Microsoft SQL Server 2008 R2 yükselttikten sonra aşağıdakine benzer bir hata iletisi alırsınız:
Msg 6522, Düzey 16, State 1, Line 1

.NET Framework hata yürütülmesini yordamı, kullanıcı tanımlı veya toplu routine name:

Iletisi: Veri erişimi, bu bağlamda izin verilmez. Içerik bir işlevdir veya yöntem değil DataAccessKind.Read veya SystemDataAccessKind.Read ile işaretlenmiş, bir tablo değerli fonksiyon FillRow yönteminden veri almak için geri arama veya UDT bir doğrulama yöntemi.

Iletisi
Örneğin, bu sorun aşağıdaki senaryolarda ortaya çıkabilir.

Senaryo 1

Aşağıdaki özelliklere sahip bir yöntemi kullanarak:
  • Yöntem, CLR kullanıcı tanımlı bir işlev, bir tür (UDT) kullanıcı tanımlı yöntem ya da kimliğe bürünme gerçekleştiren kullanıcı tanımlı bir toplama kullanır.
  • Büyük bir nesne (LOB), yöntemin bir parametresi olarak kullanır.
  • Yöntemi, yönteme DataAccesKind.Read özelliğini kullanmaz.

Senaryo 2

Kimliğe bürünme gerçekleştiren bir CLR tablo değerli işlev'da INIT yöntemini kullanın.

Senaryo 3

Kimliğe bürünme gerçekleştiren bir CLR tablo değerli işlev FillRow yöntemini kullanarak.

Neden

Bu sorun, SQL Server 2008'de ve SQL Server 2008 R2 veritabanı altyapısı özellikleri bir değişiklik nedeniyle oluşur.

Pratik Çözüm

Bu senaryolarda "Belirtiler" bölümünde açıklanan soruna geçici bir çözüm için <a0></a0>, aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Senaryo 1'de ve Senaryo 2 Bu soruna geçici bir çözüm bulmak için

Bu soruna geçici bir çözüm bulmak için <a0></a0>, yönteme DataAccessKind.Read özelliği ekleyin.

Yöntem 2: Senaryo 3'te bu soruna geçici bir çözüm bulmak için

Bu soruna geçici bir çözüm bulmak için <a0></a0>, aşağıdakileri yapın:
  • Kimliğe bürünme FillRow yönteminden kaldırın.
  • Dış kaynaklara FillRow yöntemini kullanarak erişim değil.
  • Yalnızca tablo değerli fonksiyon INIT yöntemini kullanarak dış kaynaklara erişim.

Referanslar

DataAccessKind.Read özelliğini ve diğer özel öznitelikleri için CLR yordamlar hakkında daha fazla bilgi için aşağıdaki Microsoft TechNet Web sitesini ziyaret edin:
http://technet.microsoft.com/en-us/library/ms131050.aspx
SQL Server 2008'deki <a2>Database Engine</a2> özellikleri yeni değişiklikleri hakkında daha fazla bilgi için aşağıdaki Microsoft TechNet Web sitesini ziyaret edin:
http://technet.microsoft.com/en-us/library/ms143179(SQL.100).aspx

Özellikler

Makale numarası: 955629 - Last Review: 19 Mart 2009 Perşembe - Gözden geçirme: 2.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
Anahtar Kelimeler: 
kbmt sql2008relnotedatabaseengine sql2008relnote kbprogramming kbautomation kberrmsg kbtshoot kbexpertiseinter kbprb KB955629 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:955629

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com