visual studio procedimiento framework ejecutar almacenado c# .net sql-server sqlclr

c# - studio - Cree el procedimiento almacenado CLR utilizando la dll creada por.net framework 4.0 en el servidor SQLl 2008. Se muestra un error



entity framework oracle visual studio 2015 (3)

Establezca el marco de destino en 2.0 y vuelva a intentarlo.

Estoy utilizando el siguiente código para la creación de procedimientos almacenados CLR. Mientras estoy creando el montaje. muestra el problema de abajo. Mi marco de destino es 4.0. el servidor sql es 2008 r2

Código SQL:

create assembly SampleSearch from ''E:/CLR Files/Sample/ElasticSearch.dll''

mensaje de error:

CREAR ASAMBLEA para el ensamblaje ''ElasticSearch'' falló porque el ensamblaje está construido para una versión no compatible del Common Language Runtime.



Microsoft SQL Server no permite el CLR en modo mixto. Lo que significa que está vinculado estáticamente a una versión particular del CLR (que no es lo mismo que el .NET Framework que la mayoría de la gente lo confunde). SQL Server 2005, 2008 y 2008 R2 están vinculados a CLR versión 2.0 que maneja .NET Framework versiones 2.0, 3.0 y 3.5, mientras que SQL Server 2012 y 2014 están vinculados a CLR versión 4.0 que maneja .NET Framework versiones 4.0, 4.5. x, 4.6.x, etc.

Tu también puedes:

  • Vuelva a compilar utilizando una versión de marco inferior, pero si está usando una funcionalidad que comenzó en .NET Framework versión 4.0 o superior, eso no funcionará. Usar .NET Framework 2.0 es siempre la apuesta más segura para SQL Server 2005 - 2008 R2. Si necesita usar .NET Framework 3.0 o 3.5 para una funcionalidad que no esté en 2.0 (y no en la lista de bibliotecas de .NET Framework compatibles), también deberá registrar la DLL .NET Framework 3.0 / 3.5 adecuada en SQL Servidor como UNSAFE , y hacer eso requiere configurar la opción de base de datos para TRUSTWORTHY ON (lo mejor es dejarlo en OFF si es posible).
  • Actualice a SQL Server 2012, 2014 o 2016.

Para obtener información más detallada sobre el tema de los matices de .NET en SQL Server (es decir, SQLCLR), consulte el siguiente artículo que escribí en SQL Server Central, si no toda la serie:

Escalera a SQLCLR Nivel 5: Desarrollo (usando .NET dentro de SQL Server) (el sitio requiere registro gratuito)