Při spuštění aplikace, skript nebo funkcí z předchozí instalace serveru SQL Server používající běžné funkce modulu runtime jazyka SQL Server 2008 nebo SQL Server 2008 R2 se zobrazit chybová zpráva: "došlo k chybě rozhraní .NET Framework"

Překlady článku Překlady článku
ID článku: 955629 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Po upgradu na 2008 Microsoft SQL Server nebo Microsoft SQL Server 2008 R2, při spuštění aplikace, skriptu nebo funkce z předchozí instalace Microsoft SQL Server, používající běžné funkce modulu runtime (CLR) jazyk chybová zpráva podobná následující:
Msg 6522, úroveň 16 stavu 1, řádek 1

Při provádění rutina definované uživatelem nebo agregační routine name došlo k chybě rozhraní .NET Framework:

System.InvalidOperationException: Data přístup není v tomto kontextu povolena. Buď kontextu je funkce nebo metody nejsou označeny DataAccessKind.Read nebo SystemDataAccessKind.Read, je zpětné volání k získání dat z metody FillRow Valued funkce tabulky nebo je metoda ověření UDT.

System.InvalidOperationException
Například tohoto problému může dojít v následujících scénářích.

Situace 1

Použití metody, které má následující charakteristiky:
  • Metoda používá CLR uživatelem definované funkce, uživatelem definovaný datový typ (UDT) metoda nebo uživatelem definované agregace, který provádí zosobnění.
  • Metoda používá jako parametr large object (LOB).
  • Metoda nepoužívá vlastnost DataAccesKind.Read na metodě.

Scénář 2

Použijete metodu INIT ve CLR tabulku s hodnotou funkci, která provede zosobnění.

Scénář 3

Použijete metodu FillRow ve CLR tabulku s hodnotou funkci, která provede zosobnění.

Příčina

K tomuto problému dochází z důvodu změny funkce databázového stroje SQL Server 2008 a SQL Server 2008 R2.

Jak potíže obejít

Chcete-li vyřešit potíže popsané ve scénářích v části "Příznaky", použijte jednu z následujících metod.

Metoda 1: Chcete-li vyřešit tento problém ve scénáři 1 a 2 scénář

Chcete-li vyřešit tento problém, přidat vlastnost DataAccessKind.Read k metodě.

Metoda 2: Chcete-li vyřešit tento problém v scénář 3

Chcete-li tento problém vyřešit, proveďte následující kroky:
  • Zosobnění odebrat z metody FillRow.
  • Přístup není k externím prostředkům pomocí metody FillRow.
  • Přístup k externím prostředkům pouze pomocí metody INIT funkce tabulky s hodnotou.

Odkazy

Informace o vlastnosti DataAccessKind.Read a další vlastní atributy CLR rutiny naleznete na následujícím webu TechNet společnosti Microsoft:
http://technet.microsoft.com/en-us/library/ms131050.aspx
Informace o rozdělení změnami funkce databázového stroje SQL Server 2008 naleznete na následujícím webu TechNet společnosti Microsoft:
http://technet.microsoft.com/en-us/library/ms143179(SQL.100).aspx

Vlastnosti

ID článku: 955629 - Poslední aktualizace: 19. března 2009 - Revize: 2.1
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt sql2008relnotedatabaseengine sql2008relnote kbprogramming kbautomation kberrmsg kbtshoot kbexpertiseinter kbprb KB955629 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:955629

Dejte nám zpětnou vazbu

 

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