Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

REVISIÓN: Mensaje de error cuando ejecuta una consulta "LINQ a Entities" que utiliza un parámetro de cadena o un parámetro binario en una base de datos de SQL Server Compact 3.5: "no se puede utilizar los tipos de datos ntext e image en WHERE, HAVING, GROUP BY, ON o IN cláusulas"

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 958478
Resumen
En este artículo describe lo siguiente acerca de esta versión de revisión:
  • Los problemas corregidos por el paquete de hotfix
  • Los requisitos previos para instalar el paquete de hotfix
  • Si debe reiniciar el equipo después de instalar el paquete de hotfix
  • Si el paquete de hotfix queda reemplazado o no por otro paquete de hotfix
  • Si debe hacer cambios en el registro
  • Archivos contenidos en el paquete de hotfix
Síntomas
Tenga en cuenta la situación siguiente. Una aplicación que utiliza Microsoft ADO.NET Entity Framework que se incluye en Microsoft .NET Framework 3.5 Service Pack 1 para tener acceso a una base de datos de Microsoft SQL Server Compact 3.5. En la aplicación, ejecutar una consulta "LINQ a Entities" que utiliza un parámetro de cadena o un parámetro en la base de datos binario. En esta situación, recibe el siguiente mensaje de error cuando ejecuta la aplicación:
Los tipos de datos ntext e image no pueden utilizarse en WHERE, HAVING, GROUP BY, ON o IN cláusulas, excepto cuando se utilizan estos tipos de datos con el LIKE o IS NULL predicados.
Causa
Al utilizar parámetros de una consulta "LINQ a Entities" en una aplicación, no puede especificar los tipos de base de la base de datos. El proveedor de SQL Server Compact Entity Framework intenta crear un parámetro de nivel de proveedor basándose en los aspectos de Entity Data Model (EDM) del parámetro original. SQL Server Compact no admite el tipo de datos nvarchar (max) o el tipo de datos varbinary (max) . Por lo tanto, cuando el proveedor, selecciona el tipo de datos para un parámetro del tipo de datos Edm.String o del tipo de datos Edm.Binary , el proveedor tiene que marcar el parámetro como uno de los siguientes tipos de datos basados en los aspectos EDM del parámetro:
  • Para un parámetro de cadena, el proveedor selecciona el tipo de datos nvarchar (4000) o el tipo de datos ntext .
  • Para un parámetro binario, el proveedor selecciona el tipo de datos varbinary(4000) o el tipo de datos de imagen .
Si el proveedor marca el parámetro como el tipo de datos nvarchar (4000) o como el tipo de datos varbinary(4000) , se produce un error cuando intenta insertar valores mayores de 8.000 bytes. Además, si el proveedor marca el parámetro como el tipo de datos ntext o como el tipo de datos de imagen , se produce un error si se realizan las operaciones de igualdad, operaciones de agrupación o operaciones de ordenación en el parámetro.
Solución

Información de revisiones

Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Esta revisión sólo se aplican a sistemas que experimenten el problema descrito en este artículo. Esta revisión podría sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para descarga, es hay una sección de "Descarga de revisión disponible" al principio de este artículo. Póngase en contacto si no aparece en esta sección, con los Microsoft cliente Servicios de y soporte técnico para obtener la revisión de.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión específica. Para obtener una lista completa de números de teléfono de servicio de atención al cliente y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web: Nota El formulario "Descarga de revisión disponibles" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.

Requisitos previos

Para aplicar este hotfix, debe desinstalar el previamente instalado SQL Server Compact 3.5 Service Pack 1 para instalar el archivo .msi que se proporciona con esta revisión. Si no desinstala el previamente instalado SQL Server Compact 3.5 Service Pack 1, recibirá un mensaje de error de instalación indica que ya está instalada una versión posterior de SQL Server Compact. Para obtener más información acerca de SQL Server Compact 3.5 Service Pack 1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
955965Descripción de SQL Server Compact 3.5 Service Pack 1

Información de reinicio

No es necesario reiniciar el equipo después de aplicar este hotfix.

Información del registro

No es necesario cambiar el registro.

Información de archivos de hotfix

Este hotfix contiene sólo los archivos necesarios para corregir los problemas recogidos en este artículo. Esta revisión no puede contenga todos los archivos que debe tener para actualizar plenamente un producto a la compilación más reciente.

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria el elemento fecha y hora en el panel de control.
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
System.Data.SqlServerCe.Entity.dll3.5.5692.1230,48024 De septiembre de 200806: 46x 86 y x 64/IA-64
System.Data.SqlServerCe.dll3.5.5692.1271,44024 De septiembre de 200806: 46x 86 o x 64
Policy.3.5.System.Data.SqlServerCe.dll3.5.5692.113,39224 De septiembre de 200806: 46x 86 o x 64
Policy.3.5.System.Data.SqlServerCe.Entity.dll3.5.5692.113,39224 De septiembre de 200806: 46x 86 o x 64
Sqlceca35.dll3.5.5692.1343,10424 De septiembre de 200808: 07x 86
Sqlcecompact35.dll3.5.5692.184,54424 De septiembre de 200808: 07x 86
Sqlceer35en.dll3.5.5692.1148,03224 De septiembre de 200808: 07x 86
Sqlceme35.dll3.5.5692.165,08824 De septiembre de 200808: 07x 86
Sqlceoledb35.dll3.5.5692.1172,60824 De septiembre de 200808: 07x 86
Sqlceqp35.dll3.5.5692.1644,16024 De septiembre de 200808: 07x 86
Sqlcese35.dll3.5.5692.1348,22424 De septiembre de 200808: 07x 86
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".
Más información
Después de aplicar este hotfix, el proveedor no adivinar el tipo de datos para un parámetro del tipo de datos EDM.String o del tipo de datos EDM.Binary . El procesador de consultas selecciona el tipo de datos correcto para el parámetro basándose en el valor o en la columna que se equipara el parámetro o con la que se utiliza el parámetro.

Por ejemplo, en la siguiente consulta de Entity SQL, el procesador de consultas selecciona el tipo de datos ntext para el parámetro de nombre antes de aplicar este hotfix.
String name = "XYZ";var q = from e in nwind.Employees           where e.First_Name = name           select e;
Después de aplicar este hotfix, el tipo de datos de la columna First_Name está seleccionado para el parámetro de nombre .

Sin embargo, en el ejemplo siguiente, la consulta de "LINQ a entidad" falla ya que el parámetro name no está equipara a ni se utiliza con cualquier otro valor o columna.
String name = "XYZ";var q = from e in nwind.Employees           select name;
Esta revisión también resuelve un problema conocido que se describe en el documento Léame para SQL Server Compact 3.5. Para obtener más información, consulte la sección "SQL Server Compact 3.5 SP1 Runtime problemas para la ADO.NET Entity Framework" el siguiente sitio Web de Microsoft:Esta revisión resuelve el problema está relacionado con instrucciones de Transact-SQL incorrectas que se generan cuando el proveedor convierte las subconsultas escalares aplicar construcciones.

Nota Las subconsultas correlacionadas se convierten internamente a las subconsultas escalares. No se admiten subconsultas relacionadas en esta versión. Cuando ejecute estas consultas, recibirá el siguiente mensaje de error:
Error al ejecutar la definición de comando. Vea la excepción interna para obtener más detalles.
La excepción interna contiene el mensaje siguiente:
Error al analizar la consulta. [..., Testigo en error = AS]
La razón es que ADO.NET Entity Framework interpreta la consulta de entrada como una consulta que tiene el tipo de combinación CROSS APPLY o el tipo de combinación OUTER APPLY. Si el lado derecho de la condición de combinación devuelve un valor escalar, la combinación se convierte en una subconsulta escalar. El proveedor de ADO.NET Entity Framework para SQL Server Compact tiene que convertir ese subconsulta escalar en una consulta equivalente que tiene el tipo de combinación OUTER APPLY, que es compatible con SQL Server Compact. Sin embargo, en esta versión, esta conversión no se realiza correctamente. Por ejemplo, se produce un error de la consulta siguiente en esta versión.
C# Sample Application:using (NorthwindEntities nwEntities = new NorthwindEntities()){    var orders = nwEntities.Employees                .Select(employee => employee.Orders.Max(order => order.Order_ID));    foreach (var order in orders)    {       Console.WriteLine(order.ToString());    }}
Para obtener más información sobre el esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetes de actualización del software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Warning: This article has been translated automatically

Propiedades

Id. de artículo: 958478 - Última revisión: 02/17/2009 19:46:14 - Revisión: 1.1

Microsoft SQL Server Compact 3.5

  • kbmt kbexpertiseadvanced kbfix kbautohotfix kbsurveynew kbqfe kbhotfixserver KB958478 KbMtes
Comentarios
Route = "76500"; var Ctrl = ""; document.write("