Error de intercalacion
En una aplicacion contable que estoy arregalndo me sale el siguiente error:
No se puede resolver el conflicto de intercalacion para el operador equal to
Soy bastante nuevo en esto del Visual y Sql y no tengo ni idea de por donde pueden ir los tiros, aunque se que acabamos de cambiar el servidor. ¿ Puede ser que se nos olvidara instalar alguna herramienta o parche?.
No se puede resolver el conflicto de intercalacion para el operador equal to
Soy bastante nuevo en esto del Visual y Sql y no tengo ni idea de por donde pueden ir los tiros, aunque se que acabamos de cambiar el servidor. ¿ Puede ser que se nos olvidara instalar alguna herramienta o parche?.
La intercalaci贸n es (m谩s o menos) el juego de caracteres que utiliza la base de datos. Si realizas las consultas a trav茅s de un programa, escrito en .Net por ejemplo, contra una base de datos, por ejemplo SQL Server, es posible que haya conflicto entre los juegos de caracteres del Sistema Operativo y de la base de datos. Es m谩s, entre dos tablas de una misma base de datos se pueden definir distintas intercalaciones. Si las intercalaciones son distintas y se realiza una comparaci贸n se produce el conflicto. Por ejemplo, si intentas comparar una cadena de una tabla con intercalaci贸n Modern_Spanish_CI_AI y Modern_Spanish_CI_AS (una distingue entre acentos y la otra no) se produce el conflicto.
Para solucionarlo debes poner el mismo tipo de intercalaci贸n en las columnas de las tablas a comparar, aunque estoy buscando informaci贸n para ver si se puede hacer alg煤n tipo de CAST
Para solucionarlo debes poner el mismo tipo de intercalaci贸n en las columnas de las tablas a comparar, aunque estoy buscando informaci贸n para ver si se puede hacer alg煤n tipo de CAST
Hola, lo que debe hacer es crear las columnas con el mismo idioma de intercalacion, ejemplo: COLLATE SQL_Latin1_General_CP1_CI_AS para todas las tablas
Cuando vayas a hacer una comparaci贸n, puedes a帽adir despu茅s de cada elemento a comparar la intercalaci贸n que quieres usar. Por ejemplo:
...WHERE <Tabla1.NombreCampo> COLLATE Modern_Spanish_CI_AS = <Tabla2.NombreCampo> COLLATE Modern_Spanish_CI_AS
Si sabes positivamente que uno de los t茅rminos est谩 ya con la intercalaci贸n que quieres usar, puedes omitirla en ese lado de la comparaci贸n. En el ejemplo de antes, si la tabla 2 ya est谩 creada usando la intercalaci贸n Modern_Spanish_CI_AS, podr铆as poner:
...WHERE <Tabla1.NombreCampo> COLLATE Modern_Spanish_CI_AS = <Tabla2.NombreCampo>
...WHERE <Tabla1.NombreCampo> COLLATE Modern_Spanish_CI_AS = <Tabla2.NombreCampo> COLLATE Modern_Spanish_CI_AS
Si sabes positivamente que uno de los t茅rminos est谩 ya con la intercalaci贸n que quieres usar, puedes omitirla en ese lado de la comparaci贸n. En el ejemplo de antes, si la tabla 2 ya est谩 creada usando la intercalaci贸n Modern_Spanish_CI_AS, podr铆as poner:
...WHERE <Tabla1.NombreCampo> COLLATE Modern_Spanish_CI_AS = <Tabla2.NombreCampo>